2.95
USA
MICRO JOURNAL
lVfffctrkrTfcl€i vME " MAC|NT0SH - s 50
IVlUlUrUld & Other 68XXX Systems
6809 68008 68000 68010 68020 68030
f\C O The M»guine for Mototob CPU Devices KLEX
U& " V J> ttgr Q-tW ^m, SK ' D * S
This Issue;
Mac-Watch WETPAINT p.40
Building a GT-4 Graphic lerminal p.48
"C" User Notes p.7
Basically OS-9 p.12
PASCAL p.42
FORTH p.45 And Lo«s More!
IX ISSUE XI • Devoted to the 68XXX User • November 1 987
The Grandfather of "DeskTop Publisl
hinciTH
s "
'A/
.<API
■■*S*
'■A
^H
6ESPAC Gives You
More Power Per Square Inch.
3.937
100 mm
Here is the size, performance, and
cosf breakthrough you have been
waiting for: The 68020 based
GESMPU-20 from GESPAC.
You tan now unleash an
unprecedented amount of power
into your applications. On just 25
square inches, we have squeezed
a 12.5 MHz (16 MHz optional)
68020 32- bit microprocessor, a
68881 floating point coprocessor, 4
sockets for up to 512 Kilobytes of
EPROM, and up to 512 Kilobytes of
zero-wail-states CMOS RAM.
Ihis board i< totally expandable
through its G-64 bus inter-face. And
GliSPAC has the largest variety of
inexpensive memory, interfaces,
controllers, and transducer cards
onywhere. Plus real-time disk
operating systems, high level
lariuuages, and other software
tools. GESPAC has the total solution
to your system integration needs.
Best of all, because our boards
ore small, they cost less. The new
GESMPU-20 is priced below S1000 in
one hundred piece quantity orders.
So why wait? Contact us today
for information on the GESMPU-20
or any of the 150 G-64 bus system
components from GESPAC — the leader
in single Eutocard micr computer
products worldwide.
Call (602) 962.5559.
^F
:ar
IN USA - CANADA
50A West Hoover Ave.
Meso, Arizona 85202
Tel. (602) 962-5559
Telex 386575
INTERNATIONAL
3, chemin des Aulx
CH-1228 Geneva
Tel. (022) 713400
Telex 429989
GMX MICRO-20 PRICE LIST
SBC ACCESSORY PACKAGE (M20-AP
I/O EXPANSION BOARDS
MICRO20(12 5MHz)W/1SAB $2565.00
MICRO 20(16 67 MHz)W/1 SAB $2895 00
MICRO 20 (20 MHz) W/1 SAB S3295.00
6888 1 12 5MHz Floating Peint Coprocessor $195.00
68881 16 67MHz Floating Point Coprocessor $ 295.00
68881 20MHz Floating Point Coprocessor $ 495.00
MOTOROLA 68020 USERS MANUAL $ 18.00
MOTOROLA 68881 USERS MANUAL $ 18.00
.$1 690.00
The package includes a PC-style cabinet with a custom backpanel.
a 25 Megabyte (unlormatted) hard disk and controller, a floppy disk
drive, a 150 watt power supply, cooling tan, panel mounted reset and
abort switches, and all necessary internal cabling (For use with
SAB-9D sertai connectors only j
2nd 5"80 FLOPPY 4 CABLES FOR M20-AP. ADD $ 250.00
SECOND 25MB HARD DISK 4 CABLES. ADD J 780.00
TO SUBSTITUTE 50MB HD FOR 25MB HD. ADD J 290.00
TO SUBSTITUTE 80MB HO FOR 25MB HO. ADO. $1500.00
TO SUBSTITUTE 155MB FOR 25MBHO, ADO $2100.00
60MB TEAC STREAMER WITH ONE TAPE $ 870.00
PKG OF 5 TEAC TAPES $ 112.50
CUSTOM BACK PANEL PLATE (BPP-PC) S 44.00
.„„ ... ...$335.00
bilities of the GMX Micro -20
68020 Single-board Computer by adding sixteen asynchronous
serial I/O ports By using two SBC-16S boards, a total ot thirty-six
serial ports are possible
$165.00
The board provides level-sliittnig between TTL level and
standard RS-232 signal levels lor up to 4 serial I/O pons
l^m:UJ.lHUJlHil:liM;lilH:1»g.fiTJ1 $398.00
^^T!eGMXSB(Tt)OT uses three 68230 Parallel Inter lace/ Timers
(Pl/Ts) to provide up to forty-eight parallel I/O lines The 1/0 lines
are buttered In six groups of eight lines each, with separate buffer
direction control for each group Bullet direction can be fixed by
hardware jumpers, or can be soltware programmable tor
bidirectional applications
$75.00
The S8C-WW provides a means ol developing and testing
custom I/O Interlace designs lor the GMX Micro-20 68020 Single-
board Computer The board provides areas lor both DIP (Dual Inline
Package) and PGA (Pin Gnd Array) devices, and a prewired
memory area lor up to 512K bytes ot dynamic RAM
IMil:IIHMiM:aH:IH:lia:MI $19500
■BA provides an interface between the GMX Micro-20
68020 Single-board Computer and the Motorola Input/Output
Channel (I/O bus) With the I/O bus. up to sixteen off-the-shelf or
custom peripheral devices (I/O modules) can be connected to the
GMX Micro-20
$475 00
The SBC AN pr tween the GMX Micro-20
68020 Single-board Computer and the ARCNET modified token-
passing Local Area Network (LAN) originally developer} by Datapoinl
Corp The ARCNET is a baseband network with a data transmission
rate of 2 5 Megabits/ second The standard transmission media is a
single 93 ohm RG-62/U coaxial cable Fiber optic versions are
available as an option
0S9 LAN Software Drivers tor SBC-AN $120 00
16 PORT SERIAL BOARO ONLY l SBC' 1
RS232 ADAPTER (SAB-25 SAB- 90 or SAB-8M)
PROTOTYPING BOARD IS6C-WW)
ARCNET LAN board w/o Software ISBC-AN
GMX MICRO-20 SOFTWARE
020 BUG UPOATE- PROMS & MANUAL $150 00
THESE 68020 OPERATING SYSTEMS ARE PRICED
WHEN PURCHASED WITH THE MICRO-20. PLEASE
ADD $150.00 IF PURCHASED LATER FOR THE
UPDATED PROMS AND MANUALS. ALL SHIPPED
STANDARD ON 5V« • DISKS3'/t m OPTIONAL IF
SPECIFIED.
0S9/68020 PROFESSIONAL PAK $850.00
Includes OS . "C", uMACS EDITOR. ASSEMBLER. DEBUGGER,
development utilities, 68881 supporl
OS9/68020 PEHSONAL PAK $ 400.00
Personal OS-9 systems require a GMX Micro-20 development
system running Professional OS-9/68020 lor initial configuration
Olfior Software for OS-9/6B020
BASIC (Included In PERSONAL PAK)
C COMPILEH (included in PROFESSIONAL PAK)
$ 200.00
$ 750.00
PASCAL COMPILER
S 500 00
UNIFLEX
UniFLEX
$ 45000
UniFLEX WITH REAL-TIME ENHANCEMENTS
S ROD DO
Other Software lor UniFLEX
UniFLEX BASIC W/PRECOMPILER $ 300.00
UniFLEX C COMPILER $ 350.00
UniFLEX COBOL COMPILER $ 750.00
UniFLEX SCHEEN EDITOH *5 150.00
UniFLEX TEXT PHOCESSOH $ 200.00
UniFLEX SOHT/MERGE PACKAGE $ 200.00
UniFLEX VSAM MODULE $ 100.00
UniFLEX UTILITIES PACKAGE I S 200.00
UniFLEX PARTIAL SOURCE LICENSE SI 000 00
GMX EXCLUSIVE VERSIONS, CUSTOMIZED FOR
THE MICRO-20, OF THE BELOW LANGUAGES
AND SOFTWARE ARE ALSO AVAILABLE
FROM GMX.
ABSOFT FORTRAN (UniFLEX) $1500.00
SCULPTOR (specify UniFLEX or 0S9) $ 995 00
FOHTH (0S9) S 595.00
DYNACALC (specify UniFLEX orOS9) $ 300.00
GMX DOES NOT GUARANTEE PERFORMANCE OF ANY GMX
SYSTEMS. BOARDS OR SOFTWARE WHEN USED WITH
OTHER MANUFACTURERS PRODUCT.
ALL PRICES ARE FOB CHICAGO IN US. FUNDS
TO ORDER BY MAIL SENO CHECK OR MONEY ORDER OR USE
YOUR VISA OR MASTER CHARGE Please allow 3 weeks lor
personal checks to clear U S orders add $5 handling if under
$200 00 Foreign orders add $10 handling il order is under
$200 00 Foreign orders over $200 00 will be shipped via Emeiy Air
Freight COLLECT, and we will charge no handling All orders must
be prepaid in U S funds Please note that foreign checks have
been taking about 8 weeks lor collection so we would advise wiring
money, or checks drawn on a bank account in the U S Our bank is
the Continental Illinois National Bank of Chicago. 231 S LaSalle
Street. Chicago. IL 60693. account number 73-32033
CONTACT GMX FOR MORE INFORMATION ON THE ABOVE
PRODUCTS
GMX STILL SELLS GIMtX SSO BUS SYSTEMS. BOARDS & PARTS
CONTACT GMX FOR COMPLETE PRICE LIST
CI71X 1337 W. 37th Place. Chicago, IL 60609 (312) 927-5510 — TWX 910-221-4055 — FAX (312) 927-7352
68' Micro Journal November '87 1
A Member of the CPI Family
68 Micro
Journal
10 Years of Dedication to Motorola CPU Users
6800 6809 68000 68010 68020
The Originator of "DeskTop Publishing™"
Publisher
Don Williams Sr.
Executive Editor
Larry Williams
Production Manager
Tom Williams
Office Manager
Joyce Williams
Subscriptions
Kristi Han
Contributing & Associate Bdltots
Ron Anderson Dr. E.M. "Bud" Pass
Ron Voigts An Wcller
Doug Luric Dr. Thco Elbert
Ed Law & Hundreds More of Us
"C" User Notes 7
Basically OS-9 12
'68XXX&lhcSTDBUS 16
Logically Speaking 19
Conven an XT Keyboard
loaCr82
25
\ Mac-Watch WETPAINT 40
/ PASCAL 42
V-\PORTH 45
Build the GT4
Graphic Terminal 48
Bit Bucket 53
Classifieds 56
Pass
Voigis
West
Jones
Allan
Law
Rcimillcr
Luric
Condon
I i i as si in.* is ju
{ ^8MICROJfflIRr T k "
"Contribute Nothing - Expect Nothing" dmw t9B6
COMPUTER
PUBLISHING, INC.
Over a Decade of Service"
Wide-
68 MICRO JOURNAL
Computer Publishing Center
5900 Cassandra Smith Road
PO Box 849
Hixson.TN 37343
Phone (615) 842-4600 Telex 510 600-6630
Copyrighted © 1987 by Computer Publishing. Inc.
68 Micro Journal is the originaf'DeskTop Publishing" product and has
conlinously published since 1978 using only micro-computers and
special "DeskTop" software. Using first a kit built 6800 micro-com-
puter, a modified "ball" typewrit r, and "home grown" D skTop Pub-
lishing software. None was commercially available at (hat lime. For
over 10 years we have been doing "DeskTop Publishing"! We origi-
nated what has become traditional "DeskTop Publishi g" ! Today 68
Micro Journal is acknowledged as the "Grandfaihcr"of "DeskTop Pub-
lishing" technology.
68 Micro Journal is published 1 2 limes a year by Computer Publishing
Inc. Second Class Postage paid ISSN 0194-5025 at Hixson, TN. and
additional entries. Postmaster, send form 3597 to 68 Micro Journal,
P«B 849, Hixson, TN 37343.
Subscription Rates
1 Year $24.50 USA, Caiuida A Mexico $34.00 a year.
Others add $12.00 a year surface, $48.00 a year Airmail, USA
funds. 2 years $42.50, 3 yeats $64.50 phis additional postage
for each additional year.
Items or Articles for Publication
Articles submitted for publication must include authors name, ad-
dress, telephon number, date and a statement thai the mat rial is
original and the property of the author. Articles submitted should be
on diskette. OS-9. SK'DOS, FLEX. Macintosh or MS-DOS. All
printed items should be dark type and satisfactory for photo-reproduc-
tion, No blue ink! No hand written articles - pleasel Diagrams o.k.
Please . do not formal with spaces any text indents. charts, etc. (source
listi go. k. ). We will edit i aUformani g.Text should fall flush left and
use a carriage return only to indicate a paragraph end. Please write
for free authors guide.
Letters & Advertising Copy
Letters to the Editor should be the original copy, signedl Lettersofgrip
as well as praise are acceptable. We reserve! he right to reject any tetter
or advertising material, for any reason we deem advisable. Advertis-
ing Rates: Commercial please contact 68 Micro Journal Advertising
Department. Classified advertising must be non-commercial. Mini-
mum of $15.50 for first 15 words. Add $.60 per word thereafter. No
classifieds accepted by telephone.
November '87
'68' Micro Journal
EXCITING SOFTWARE FROM THE LEADER.
-~~Tn&t0tWfaL~~-
OS-9 ELECTRONIC MAIL
Klasb your message on Klectronic Mail Mail is a
screen or line oriented program that runs on yotir
OS 9/680X0 systems or over OS 9/N KT You can use
distributed mailing lists or consecutive mailing list to
get your message delivered And received mail can be
sent directly to your printer for immediate printout,
spooled on a multiuser system or saved to a file Mail
features on line help and complete, easy to understand
documentation.
Klectronic Mail $150.00.
OS-9/ST
NKW for your Atari ST! Now you can have the power of
OS 9 on your Atori 520 or 1040 ST A true
multi tasking environment for professional real lime
results OS 9/ST is available in two configurations:
Personal anil Professional. Choose either version for
true multi user support And all at a price that puts
UN IX to shame
Personal OS 9/ST combines the power of OS 9 with
an interactive, structured Basic. $150.00
PRINT SPOOLER
Spool it and lYint it! Someone beat you tn the printer?
Don't blow your top while you cool your heels get the
OS 9/68000 Print Spooler and relax The full featured
Print Spooler automatically routes and monitors the
statusof your devices and the output files to be spooled.
Now you can have a complete print spooling manage-
ment system at an affordable price.
OS 9 Print Spooler $150.00
FORTRAN
Crunch It! with Our New FORTRAN 77 Compiler Now
you have a powerful new tool to take full advantage of
the 68000 family of microprocessors With Microware's
FORTRAN 77Compileryou can generate code that uses
system wide modules instead of linking redundant
copies of the standard library to each program. Result:
less memory, less disk space, faster loading and
external updating!
FORTRAN 77 Compiler $750.00
Professional OS 9/ST has a powerful Assembler,
Linker and User Debugger and the tools to turn
your Atari ST into a full C Language
workstation. $600.00
OS-9/68020 C COMPILER
NKW "speed demon" C Compiler! Now you can get your
hands oti a highly optimized C Language power
tool the OS 9/68020 C Compiler. When coupled with
the MC6888I math co-processor, this compiler will let
you'll blast through complex math functions in the
blink of an eye All compiler/assembler/linker options
arc cun trolled l»y an intelligent compiler executive that
spares you from memorizing compiler options and
module calling sequences And the compiler includes
library functions for memory management and system
events, and much, much more! The new OS 9/68020 C
Compiler is included with the Professional OS 9/68020
System Software Package
NewC language Compiler $750.00
To order these exciting N KW products or for more information..
CALL TODAY!
Micro ware Systems Corporation
1900 N W I Nth Street * Des Moines, Iowa 50322
Phone 51 5-224 1929 •Telex 910 520 2535
West Coast Office
440 I Creat American Parkway * Suite 220
Santa Clara, California 95054
Micro ware Japan Ltd.
4119 lloncho 4 Chome, Kunabnshi City * Chiba 273,
Japan* Phone 0473 (28)4493* Telex 781 299 3122
Mlcromaalar Scjndmmin AB
S \ Pngaitn 7
S75I-43 UppMI*
Swain
PhOrtt 01»13SM$
inm 7B.79
Of. NudoN Kail. GmbH
Porphywcua lb
0-690$ Sehf*Jh«<m
Wmi Germany
Phona (0 82 031 87 4t
T*Wi *oW»
Claon AG
CHS405 BlteDlIM
Pnona i04S| 83-3377
Taw.. 818771
I UN
36-38 John Slraat
LUUn. SMtordtriitt LUI 2JE
Untied Kingdom
Prion* (OS*?) 4234 ?S
-«i«. KIMS
bUcroprocauor Conaultanl*
97 Bynyi Raid
P4lm 9«»cn 7108
NSW *i»t',ilia
Phona 079194*1'
UkcrodfUSen
97 bta rua Da Common
92400 CourtMvM
Franca
PXon* 1 76a-ao40
»Mu 61S40S
M icroware is on the move Wt- have openings for Technical and Marketing Professionals.
Send your resume (in confidence) today and find out more about these exciting opportunities.
0S-S and BASIC09 am rradtmartis of Mlerxmn and Motorola. UNIX it a Indemerk of Bail LatxvsftwM. inc.
'68' Micro Journal
November "87
g— — — Z^Super SBCj —
DATA-COMP proudly presents the first
Under $5000 "SUPER MICRO".
The MUSTANG-020~
MUSTANG-02&
The MUSTANG-020 68020 SBC
provides a powerful, compaci, 32 bil computer
system featuring the "state of the an" Motorola
68020 "super" micro-processor. It comes
standard with 2 megabyte of high-speed SIP
dynamic RAM, serialand parallel ports, floppy
disk controller, a SASI hard disk interface for
intelligent hard disk controller and a battery
backed-up time-of-day clock. Provisions are
made for the super powerful Motorola MC6888 1
floating point math co-processor, for heavy math
and number crunching applications. An optional
network interface uses one serial (four (4)
standard, expandable to 20) as a 125/bit per
second network channel. Supports as many as 32
nodes.
The MUSTANG-020 is ideally suited to a
wide variety of applications. It provides a cost
effective alternative to the other MC68020
systems now available. It is an excellent
introductory tool to the world of hi-power, hi-
spead new generation "super micros". In
practical applications it has numerous
applications, ranging from scientific to aducation.
It is already being used by government agencies,
labs, universities, business and practically every
other critical applications center, worldwide,
where true multi-user, multi-tasking ne#ds exist
The MUSTANG-020 is UNIX C level V
compatible. Where low cost and power is a must,
the MUSTANG-020 is the answer, as many have
discovered. Proving that price is not the standard
for quality!
As a software development station, a
general purpose scientific or small to medium
business computer, or a super efficient real-time
controller in process control, the MUSTANG-
020 is the cost effective choice. With the optional
MC6888 1 floating point math coprocessor
installed, it has the capability of systems costing
many times over it's total acquisition cost.
DATA-COMP ^
p i
tUf.lv-
With the DATA-COMP "total package",
consisting of a heavy duly metal cabinet,
switching power supply with rf/line by-passing,
5 inch DS/DD 80 track floppy. Xebec hard disk
controller, 25 megabyte Winchester hard disk,
four serial RS-232 ports and a UNIX C level V
compatible multi-tasking, multi-user operating
system, the price is under $5000, w/12.5
megahertz system clock (limited lime offer).
Most all popular high level languages are
available ai very reasonable cost. The system is
expandable to 20 serial ports, ai a cost of less
than $65 per port, in multiples of 8 pott
expansion options.
The system SBC fully populated, quality
tested, with 4 serial ports prewired and board
mounted is available for less that $3000. Quantity
discounts are available for OEM and special
applications, in quantity. All that is required to
bnng to complete "system" standards is a
cabinet, power supply, disks and operating
system. All these are available as separate items
from DAT A-COM .
Htm.Ta 17M>
Taiai 110 1
A special version of the Motorola 020-
BUG is installed on each board. 020-BUG is a
ROM based bebugger package with facilities for
downloading and executing user programs from
a host system. It includes commands for display
and modification of memory, breakpoint
capabilities, a powerful assembler/disassemble
and numerous system diagnostics. Various 020-
BUG system routines, such as I/O handlers are
available for user programs.
Normal system speed is 3-4.5 MIPS, with
burst up to 10 MIPS, at 16.6 megahertz.
Intelligent I/O available for some operating
systems.
Hands-on "actual experience sessions",
before you buy, are available from DATA-
COMP. Call or write for additional information
or pricing.
November's?
'66' Micro Journal
Mustang -020 Mustang 08 Benchmark*
I
I ISM AT 7J0O X.nla lyi 3
. at.t 7)00 gin rc sioiQ
I DIC VAX 11/7(0 VltlX B.rtl.J 4.3
1 MC VAX limo
ItIODI OS-S IU I MM
(•000 OS-S tIK 10 Hhr
I ajCUrrAllovoS «»00l 0»-» MIC J» Mil
I mmuK 92S «»o« cuts <*« i( Mi
. MVTU»-II0 4*0?0 MCSS.*! OttlTLMX It Ha*
! mj!b(»
I '
"111
22 bit
R.gt .t«r
Int.g.r
Long
».7
7. J
4.3
1.1
3.2
s.l
3.2
11.
».g
*. 5
4.0
».|
1 1
i »
on
l *
1. 11
r.gl.t.r long If
for ll-Oj 1 < SIMM;
utUKM Miri - MraiAna-gig ..... *.
MUtt t« • - 10 HIM Motorola ITKI
OS • rn^akwm) Vs
JS50.00
'hdiAt Cr<*apwbf
HuicOB
30000
C Coast) or
30000
liflnnnr.uiul.if.ri nun alASlOO-OO)
10X00
Mana 77
730.00
Mkiowmb rVol
300.00
Onc|«iolV 1**»cj1
SCO. 00
Styto-Onnh
49500
Siytg-Spill
195.00
Stjto-Mast
17500
Slyto.Gnfl.SFes'.Mi •»
693X0
PAT -it" u«
2».00
II -Si ..c '.„,.*
7V.93
I'M JIM I ..i.l.
340 JO
Scalf" («" bdo.)
•»S 00
COM
1 25 JO
UnFLEX
Uu*i_eX(M02o™!
545000
Soatn Ednar
isaoo
Son-Merse
20000
""■""" ."
soooo
cc mi
isaoo
oom
73O00
CMOOEM .h»
laxoo
TWWJH •/Kama
100 00
X I Al X (an Ad)
90 »s
OatnnMa
50 00
•ata?)
4J0 00
Scalpur. (m> talo»)
99100
SoxaWdMtSTAMMBir* auojad IU Mia.
A<Uu»}&a**u.arSD
J1300
AHIalUMiitmi
575 .00
AoUfaJOMhiMaJuVKAM
75000
ieFDnuo.Kt.2Jl.
HSOO
MquWu 1 or 2 A4*ao» Catd* teSow.
US 252 Ailaw
143.00
Hidi tard tbpparo a t.vi.n. nil «-t puna
(awl ol° J» aaial pant ajpnn*!)
THE
P
R
O
12.S Mhi (optional 16.6 Mitt Available) MOSS020 full 32-bll wide path
32-bll wide data and address buses, non-multlplexcd
on chip in»lrudlon cache
object code compatible with all 66XXX family processors
enhanced inslructlon set-math co-praes&orlnlci face
66601 math hi-sprod floatingpoint co-proceaaor (optional)
direct extension of full tH020 [nriiudioa act
full support IEEE P7SS, dull iao
traasn-n denial and other scientific math functions
2 Megabyte of SIP RAM (S12 > 32 bil organ I la) ion)
up to256K.bytcsof ETROM (64x32 bill)
a Asynch ronoua aerial I/O porta standard
optional to 20 aerial porbi
atandard RS-232 Inlcrfaae
optional network Interface
buffered Bbll paiallel port (VI MCSR230)
Ccnlronlo type pinoul
expansion con nector for VO devices
16 bil datapath
256 byte add rcsa apace
2 Inlerrupllnputs
dock and conlral slgnaia
Motomla VO Channel Modules
lime of day clock/ calendar w/balleiy backu p
con I roller for 2, 5 1/4" floppy disk drives
■ingle orduublcaldc, single ordnuble density
35 lo 80 track selectable («t>96 Tl'l)
SASI interface
programmable periodic interrupt generator
interrupt rate from micro-seconds lo seconds
highly accurate lime base (SPI'M)
S bil sense switch, readable by the CPU
Haldwarcllnglc-etep capability
Dan't be mislead!
ONLY Data-Comp
delivers the Super
MUSTANC020
NASA,Atoimt EtHTjyCo miiiiiin. Govcntuwitr
ffirWr CnHcoi Ap/fimirift « Crntorr, wtjidwiA; where q-™*t, m«ih
o\*»tfto«j indAftJ*. mat -Jin-tw. (/\*7f C tr**/ V aaTOfa»ub*Jity
•r%4 lov con it • $*mm/\
Only the'TRO" version
of
OS-9 supported!
fi&
Thisis/a'E/.VKD.yrK
Country!
MUSTANC-t2»SBC
$249*1. 00
Cabinet wCnrlldiln| PS
$2*9. VS
5*40 track nappy
DS/DD $2*5)95
floppy cable
$39.95
()S.« UK Professions! Vtr.
$*50.0*
• Indudea C Compiler (S5O0 M)
Wlnchcslrr cable
$3*9 J
Wlnrtiatcr Br In 25 Mbyte
$M5.0t
Hard Dtk conlrolkr
«95.0»
ShSpping USA UPS
$20.0*
Upw J 6«230 b3Jm.Wr.ntti dkipi,
6Braup of D luautMcft. apuatotw/fer
dii«taks> c«nnt foi aich ptwp>
ntlSaaVyVJal OUaafal
aaat hi- ball dip ml POA anion * ■
t».Miuay «T«»P«>5IIKDMA.M.
MM
IraHfn Nlaavn ±a ryikm ud
AUTJCBT oaaMad lot
CAN«Ti.a»*V«n
LAX. fiber optk* crjuxai • call.
12000
tUpBaknuaMau**! t^> Lhmod Ml,«iW
■ MUSTAjaa-ojo™
169500 5 AVB 13000)
SIMM
UPGRADES
Write or Call
for Professional
OS-9 "Full Bore"
Upgrade Kit
For«>m«MBn*M*«lonWaa*OCJ '
Bada-rionyojioUBtWXXSBC Musi I
tjAaajrlurvjpropsrVar^oo^w^swilh J
$100.01
$275.01
$375.04
$375.01
$750 01
Cal kx mors intormatun
toi.1: Save $1000.00 $S^9.m
complete sytcm $4,299.80
UniFLtX LB5>
MCtaeS 1 l/p math processor Add
16.67 Mil MC68020
16.67 Mil MC6888 1
20 Mh2 MC68020 Sys
No M all 6888 1 chips work with 20 Mhi Sys
NOTE: Only Professional OS-9
now available (68020 Version)
Includes ($500.00) C Compiler
68020 & 68881 supported
AH MUSTANG 030™
wloafife on di lavd ionw.
wrat Urn aaoaa. Di
anaMlo
■a: 10-TOf. aandni do lam. Cal a
Data-Comp Division
( ' ■ '.^m r~'~'\ A Decade of Qualily Scrvict:" ^
*$ V V^f3»W- Systems WorUS-Wkle *"
Computer Publishing. Inc. 5e00 Casundnj Smith Road
Telaprwrw 615 642-4601 ■ lului 510 600*630 Mason. Tn 37343
25
85
complete
Mbyte HD System
$4299.80
Mbyte HD System
$5748.80
68' Micro Journal
Novembaf '67
r
"N
PAT C
With 'C Source j
$229.00 1
mm
$sim
. Pi, On ■ ha
oeanw
A Division of
I
Media-
5900 Cuuvh Smiih R<t
Ilium, To 37343
Telqfan 6I5M2-M09
Ttlex
V
tie* SI 601^6630
COMBO
PAT FROM S. E. MEDIA - A FULL FEATURED SCREEN ORIENTED TEXT EDITOR
with all the best of PIE. For those who swore by and loved PIE, this is for YOU! All PIE
features & much more! Too many features to list. And if you don't like ours, change or add
your own. C source included. Easily configured to your CRT terminal, with special configuration
section. No sweat!
68008 - 68000 - 68010 - 68020 OS-9 68K $229.00
Special $249.00
JUST
JUST from S. E. MEDIA - - Text formatter written by Ron Anderson; for dot matrix
printers, provides many unique features. Output formatted to the display. User con-
figurable for adapting to other printers. Comes set-up for Epson MX80 with Graflex. Up
to 1 imbedded printer control commands. Compensates for double width printing.
Includes normal line width, page numbering, margin, indent, paragraph, space, vertical
skip lines, page length, centering, fill, justification, etc. Use with PAT or any other text
editor. The ONLY stand alone text processor for the 68XXX OS-9 68K, that we have
seen. And at a very LOW PRICE! Order from: S.E. MEDIA - see catalog this issue.
68008 - 68000 - 68010 - 68020 OS-9 68K
V With T C source $79.95 J
November '87
'68' Micro Journal
^^^^m The C Programmers
m I (p& Reference Source.
W&) + Always Right On Target!
^^ C C User Notes ]
A Tutorial Series
By: Dr. E. M. Burf ftiss
1 1454 Lam Lane N.W.
Conyos, GA 30207
404 483-1717/4570
Computer Systems Consultants
INTRODUCTION
This chapter covers some of the C reference
materials currently available for those
attempting to learn how to use the C language or
to learn how to become more proficient In Its
application.
Bill Gates. President of Microsoft, recently was
quoted in the trade press as saying that most
major technical and development software for
micro and mini computers Is either now written
In the C language or Is being rewritten into the C
language.
Also In the trade press was the announcement
by Lotus that the best-seller 1-2-3 package had
been rewritten into C. would be available very
soon under UNIX and VMS and would be
available on IBM-compatible mainframes next
year.
C REFERENCES
Most C reference materials use the PC. UNIX, or
VMS systems in their expositions. For those
interested In learning C for OS/ 9. UNIFLEX. or
FLEX, these references may be used with a
greater or lesser degree of success. Depending
upon the nature of the subject, the more specific
and advanced references may well be essentially
effectively useless for these operating systems.
For example, graphic and window software for
the PC may be of little use on hardware
radically different from that on the PC.
However. It Is necessary and useful to describe
the materials, because many are Interested in C
for several different systems.
Since any list of reference materials Is
necessarily incomplete, many readers will note
favorite C texts not included. If readers will
send very short reviews of such texts, I will
consider including them In the future.
The C Programming Language
B. Kemlghan and D. Ritchie
Although this book is somewhat dated, obscure,
and vague, it is still recognized as the standard
text for the C language. Every C programmer
should have a copy and should have actually
read It at least once, to better gain a feeling for
the llavor of the C language, from the original
source. However, most programmers will need
much more than this book to help to help them
use the C language proficiently.
The C Answer Book
Tondo and Glmpel
This book is a follow-up to the original white
book (K and RJ. It reprints each exercise from the
K and R book, along with a complete answer and
explanation for it. The index assists the C
programmer in locating particular topics in the
exercises.
Programming In C
K. A. Jamsa
This book presents a bulldlng-block approach
Intended to help the reader In learning the C
language. Beginning with simple concepts. It
Introduces more complex concepts In each
chapter. It covers data types, program structure,
string processing, pointers, airays. and buirered
and unbuffered Input/output. It also discusses
the use of several UNIX utilities and tools.
The C Library
K. A. Jamsa
This book provides over 125 structured and
commented C library and utility routines.
These vaiy from simple macros and functions
to complete input/output subroutines,
primarily for UNIX or MSDOS. Each library
68" Micro Journal
November's?
routine provides comments describing tts
function, argument list, routines called, and
control flow. These routines Illustrate the
following parts of the language: file
manipulation, sorting, recursion. Input/output,
string manipulation, pointers, and arrays.
The C Programmer's Handbook
AT&T Bell Laboratories
M. I. Bolsky
This book Is formatted as a handbook providing
a topic-oriented Introduction and reference for
the C language. Since the author Is an employee
at the AT&T Systems Training Center, the
handbook covers only the UNIX System 5 C
language and Its usage on UNIX System 5
systems. In addition to covering the C language
Itself, this book provides Information on
portability, covering compiler and machine
dependencies, program organization, data Me
conversion, and other portability Issues.
C: An Advanced Introduction
AT&T Bell Laboratories
N. Gehanl
This book provides an Introduction to the C
language for those already familiar with a
procedural language such as FORTRAN or
ALGOL. It emphasizes the advanced features of
the language, such as type declarations, data
abstraction, exception processing, concurrent
programming, the C preprocessor, and
programming tools. The author assumes that
the reader will be using a UNIX-based system for
working the problems and for later
development.
C: The Complete Reference
H. Schlldt
This book Is organized as an encyclopedia of C
terms, functions, codes, applications, etc. It Is
divided Into the following five parts: review
material. C libraries, algorithms and
applications, efficiency and portability, and
C++. It also provides Information about the new
ANSI X3-J 1 1 Draft Proposed C Standard.
C Made Easy
H Schlldt
This book Is designed for Basic programmers
wanting to learn the C language. It provides a
tutorial on the C language. In addition to side-
by-slde examples of Basic programs and their C
translations. It also provides a description of
common C programming errors and how to
avoid making them.
L
Solutions in C
This book contains several hundred tips and
guidelines for programming In the C language.
It is reference material for experienced C
programmers and provides suggestions for how
best to engineer a programming project to make
best use of the C language. It covers the
following subjects: structures, bit fields, unions,
arrays, data storage, headers. C preprocessor,
definition of. reference to, and pointers to
functions, the standard C run-time library, etc.
It also provides Information about the new
ANSI X3-J1 1 Draft Proposed C Standard.
Programming In C
S. Kochan
This book Illustrates the usage of the C language
with about 100 C programs and functions. Each
program or function is structured and
commented to demonstrate particular points
about the language. The book covers the
following topics: looping, decisions, arrays,
functions, structures, strings, bit operations,
and modularity. Appendices to the book
summarize the syntax of the language and list
common programming mistakes to avoid.
C Programming Guide (Second Edition)
J. Purdum
This book provides a tutorial for beginners
desiring to learn to use the C language. It offers
tips, tricks, and techniques used by C experts. It
explains how the language works and compares
several C programs to equivalent Basic
programs. It also provides Information about
the new ANSI X3-J11 Draft Proposed C
Standard.
C Programmer's Library
J. Purdum. T. Leslie. A Stegemoller
This book presents C programming techniques
exemplified with the following C programs and
routines: disk sort, terminal library.
Installation program, ISAM library, and book
cataloger. These C programs and routines are
usable as presented or may be modified for
special purposes. The book provides machine
and compiler specific Information as a
comment with each listing. The programs and
routines are also available on diskette for
MSDOS and CP/M.
C Self-Study Guide
J. Purdum
This book covers many aspects of C
programming with a question and answer
format. It addresses the usage of C at many
levels, from the beginner's problems with
syntax errors to the expert's usage of the more
advanced features and nuances of the language
and of the standard C library routines.
November's?
•68' Micro Journal
C: A Reference Manual (Second Edition)
S. P. Harbison and C. L Steele
In addition to presenting a complete outline and
summary of the C language, this book discusses
the evolving state of the C language, including a
summary of the new ANSI X3-J11 Draft
Proposed C Standard. The authors present the C
language In a bottom-up order: lexical structure,
preprocessor, declaration types, expressions,
statements, functions, programs, and standard
run-time libraries. The book also covers over
180 of the standard run-time library routines In
detail.
Debugging C
RWard
This book discusses the difficulties Involved In
debugging C programs and suggests better
methods for accomplishing this task. It Is not a
book on avoiding common C programming
mistakes, although most experienced C
programmers should be able to derive new
techniques for writing C programs which assist
In the debugging process. It provides a carefully-
defined and sclentlflc-method-based series of
techniques. In an attempt to structure this
debugging process. Although the book is
oriented towards debugging programs written
on and for MSDOS and UNIX, most of the
techniques presented are relevant for debugging
programs on other computers and operating
systems.
Advanced C
H. Schlldt
This book attempts to assist experienced C
programmers In developing advanced skills In
the use of the C language. It is essentially a
discussion of the Implementation of data
structures in C. It covers the following topics In
this area: operating system interface,
compressed data formats, memory allocation,
linked lists, binary trees, sorting and search
techniques, stacks, queues, and data
encryption. It also covers program and data
portability, simulations, debugging, and
converting Basic and Pascal programs to C.
System V Interface Definition Vol. 1-3
AT&T Information Systems
This series of books provides a rather complete
definition of the UNIX System 5 operating
system, system calls, library, C compiler, and
utilities. Although It is probably more detailed
than most C programmers require. It Is a source
of Information for those needing to port
programs to or from UNIX System 5 and clones,
or to port UNIX System 5 to a new environment.
Operating Systems: Design & Implementation
A. S. Tanenbaum
This book provides a discussion of the design
and implementation of operating systems,
primarily In terms of an example operating
system called MINIX. The specifications for
MIN1X derive Irom UNIX Version 7. Not only Is
the source code (In C. of course) printed In the
book, but source and object versions of MINIX
are available for the PC on diskette. In addition
to the commented source code for MINIX and
explanations of how It works, the book provides
a lengthy discussion of four areas of operating
system theory: process management.
Input/output management. memory
management, and file system management, and
how they relate to MINIX and to other operating
systems.
Portable C and UNIX System Programming
J. E. Laptn
This book summarizes the similarities and
differences among the various versions of UNIX
C languages. It covers all commands. library
functions, and system calls available on UNIX
System 5. Berkeley UNLX 4.2 and 4.3. Microsoft
Xenix, and SCO Xenix 5.0. in addition to those
specified in the System V Interface Definition
and in the proposed ANSI X3-J11 Standard C
Language.
Applied C
Strawbeny Software. Inc.
edited by B. Derman
This book is composed of over twenty chapters,
each written by an expert In a particular area. It
covers the generation of program specifications,
the consideration of user Interfaces, the aspects
of programming style, portability, modularity,
data structures, language parsing. Indexing, and
screen management, methods of using
compilers, linkers, loaders, and libraries, and
usage of utilities such as make. lint. etc.
The C Puzzle Book
A.R. Ffcuer
This book provides a series of topics, each of
which is composed of C programs or functions
representing a puzzle about some aspect of the C
language and its usage. These puzzles, with
solutions, olten pertain to little-used features of
the language, and are intended to force the
reader to think about parts of the language
which they may never have thought about
before.
The C Trainer
A. R Feuer
'68' Micro Journal
November "97
This book and diskette comprise a tutorial for C
in a structured programming environment. The
diskette contains a C Interpreter and series of C
program and function examples to accompany
the book. The following advanced topics are
covered (In addition to more basic topics): co-
routines, binary trees, dispatch tables. Indirect
pointers, syntax parsing, finite-state automata,
semantic networks, and recursion.
Programming Pearls
J. Benlley
This book consists of a series of essays
pertaining to practical aspects of programming
and computer science, originally published in
the Communications of the Association for
Computing Machinery. It discusses common-
sense engineering techniques and prototyping
as they relate to computer programming. Many
of the problems may best be solved or Improved
by using Insight Into the nature of the situation,
rather than the obvious solution.
C Programmer's Reference Card
Two Colors
This quick-reference card summarizes all of the
commonly-used aspects of C. provides usage of
programmlng-related UNIX utilities, and
contains and an ASCII code chart, all on a
plastic sheet.
C Language Poster
AGS
This wall poster provides a guide to C language
syntax and usage.
C PROBLEM
The following fragment of a C program works
correctly on some systems but falls on other
systems:
•include <stdlo.h>
rain Urge, argv)
lnt argc;
char *argv[);
(
If (Urge > 5) ti (*argv[5J — 'x'))
strcpy largviS], 'last argument"),
The problem lies In the copying of characters
into the memory pointed to by argv|S). If the
space allocated for the string Is shorter than 14
characters, the memory Just beyond the space
allocated will be overwritten. In this case, the
memory space overwritten may be
exceptionally critical, since It will probably
Involve stack space beyond the point at which
the program was executed, because the second
argument to the "main" function points to the
command-line arguments.
Many solutions are possible: following Is one
possible method. Most, like this one. Involve
changing the pointer to the argument.
•include <stdio.h>
rain large, argv)
int aege;
char *argv[];
(
If (large > 5) it f*argv!5) — 'x'))
argv [5] » "last argument";
Another class of solutions Involves copying the
pointers to the arguments Into another array.
Following Is one solution In this class:
tlnclude <stdlo.h>
main large, argv)
int argc;
char *argv[];
<
char arg [10)132], *strncpy();
int a;
if (argc > 10)
argc - 10;
for (a - 0; la < argc); t+a)
* (strncpylarglal, argv[a], 31) t 31)
If (large > 5> (( (*arglSJ — 'x')>
strcpy (arg [5] , "last argument");
EXAMPLE C PROGRAM
Following Is this month's example C program; It
scans the contents of a list of files, extracting
printable strings from each no shorter than a
specified length. It could be used on a text file,
with Its output piped to a program to sort and
remove duplicate strings, to study the words
used In the text. It could also be used on a
executable file, in an attempt to locate help or
prompt strings, which might assist in using,
understanding, or disassembling the program.
•Include <stdio.h>
tlnclude <ctype.h>
Ideflne STRING 80
•define BUFFER S12
10
November's?
'68' Micro Journal
• lfdef IBMPC
Ideflne BINARY "rb"
tendif
lifdef FI£X
•define BINARY -rb"
tOTdif
lifndef BINARY
Ideflne BINARY "r"
lendif
m»in(argc, argv)
lnt argc;
char **argv;
1
FII£ 'input » stdln;
int enough - 3;
char *prog - argv[0];
while large > 1)
(
if (*argv[l| — '-■)
(
enough - 0;
sscanf (argv[l) + 1, "Id", (enough) ;
if ((enough < 1) II (enough > (STRING -
3)))
1
Proqr«n\n\n") ;
list)\n\n".
n\n"l;
print f ( "\n\nString Search
printf ("Osage: ts |-n] (file-
prog);
printf ("finds strings of length >-
printf ("(default 3) in file-list \n") ;
printf C (default stdln) \n\n") ;
exit (1) ;
else
if (r (input - fopen(argv|l), BINARY)))
<
argvlU);
prlntf("ts: Cannot find ls\n"
exit (1);
prog.
else
strings (input, enough);
— argc;
++argw;
)
exit(O);
)
stringsdnpit, enough)
FII£ « input;
int enough;
(
int chars, 1, n;
char buffer [BUTTER], c, *p, string [STRING] ;
while (n - fread (buffer, 1, BUSTER, input))
(
for (p - buffer; n; — n)
!
c - *p++;
if (lsprint (c))
(
string [chars++l - c;
if (chars > (STRING - 3))
(
string |chars++] - 'W;
string(cltars] - 0x00;
printf ("%s\n", string);
chars - 0;
i
else
(
if ((chars >- enough) t( <(!c) II
(c — 'Will
I
string(chars) » 0x00;
printf ("%s\n", string);
)
chars » 0;
if (input)
close(inpit) ;
EOF
FOR THOSE WH
nSKED TO KNOW
68 MICRO
JOURNAL
TM
68' Micro Journal
November's?
11
astcmly
Dedicated to the serious OS-9 user.
The fastest growing users group world-wide!
6809 - 68020
A Tutorial Series
By: Ron Voigts
2024 Baldwin Court
Glendale Heights, IL
KEEPING TRACK OF OS-9 MODULES
l-ast month, we went into why programs
refused to get Into memory. There were a
number of Items that could cause problems.
The module's attributes, CRC and header
parity had to be correct. If these all were In
order, there was a good chance that when an
attempt was made to run the program it would
get loaded Into memory. Then it could be run.
OS 9 does not blindly plunk the module In
memoiy. Rather it places it and keeps track of
vital Information.
A module directory maintained. Not
everything that gels into the module directory
has to be executable. Device descriptor and
data modules cannot be executed, but none the
less they are put into the directory. But
everything that gets into the directory must
meet the previous criteria.
The module directory keeps track of two
important pieces of information. Where the
module can be found and what Its link count
is. Surprising at first is the fact that Its name
does not get entered. A little thought on it will
show that once a module's location Is known,
other things of interest can be found. These
include Its name. size, language type and so
forth. All that Is necessary is to search the
directory, for the module's location.
I-evel I OS-9 keeps module directory
entries In 4 byte chunks. My system provides
256 bytes for the directory. This comes to 64
possible entries. I have never filled it up. The
directory's location can be found from the 4
bytes stored at D.ModDlr In the Direct Page
Variables. These are values located in the first
256 bytes of memory. D.ModDlr is located at
absolute address $0026. The four bytes In my
system located here are:
$03 00 04 00
This means that the directory module
starts at memory location $0300. It is one
page or 256 bytes long. The $0400 shows were
It ends. In reality the end is at $03FF. In
programming, using the $0400 is a simple
way to detect when the directory's end has
been past.
Entries are in 4 byte chunks. The first two
bytes are the module's location. The next Is Its
link count. And the last one is a dummy. It
doesn't do anything. But 4 is easier to program
with when using a loop.
It is easiest to demonstrate the table with
an example. Listing 1 Is a BAS1C09 program
that will generate a table that represents the
module directory. The program gets the start
and finish values for the directory. It moves
through the directory extracting the modules
location and link count. The dummy byte is
Ignored. Also where a location comes up that
Is $0000. It is not printed. This is not the
location of a module, but rather the a null
entry Into the table. I ran this program and
here is the result.
Addr
Link
F05D
00
F852
01
FD46
01
FDT4
01
B600
01
B633
00
This is only the first few entries. It shows
the modules's locations and their link count.
These entries are part of my OS9 system.
12
Novembef '87
'68' Micro Journal
To see what these really mean, we must
look at each location. We can find the module
name. Its size. type, revision, and name. Good
news! There Is a command to do this for us. It
IsMDIR. If I enter
OS9: mdlr e
This tells MDIR to do an extensive module
dlrectoiy search. The result Is:
ADDR
SIZE TY
RV
AT
uc
NAME
F05D
7E7 CI
1
r
OS 9
F8S2
4F4 CI
1
r
1
OS9p2
FD46
2E CO
1
r
1
Init
FD74
17E CI
1
r
1
Boot
B600
33 Fl
2
r
2
DO
B633
33 Fl
2
r
2
Dl
This goes on. but Is show what the modules
really are. MDIR reads the module directory
and then goes to the memoiy location and
reads the balance of the Information from the
module header. It can be seen that the
addresses of modules In the directory are used
to find them. So. $F05D with a link count of
00 Is OS9. $f852 with link count of 1 Is
qOS9P2 and so forth.
Level 2 has a module directory that Is a bit
more complicated and Involved. It uses 8
bytes per entry. They are 2 byte entries for
MD$MPDAT. MD$MBSlz. MD$MPtr. and
MD$Llnk.
MD$MPDAT Is the Module DAT Image
pointer. This Is a DAT pointer to the starting
of the block where the module Is stored. The
block Is 4K long on SS-50 buses and 2K on
system with a 6829 MMU. This memory
location Is a special one that Is not
necessarily associated with a specific process.
Later, when the module Is executed. It will be
mapped Into the particular task's area.
Next Is MD$MBSlz. This Is the actual
amount of amount of the block used. Even If a
small module Is loaded. It will get the entire
block. This is why It pays to merge modules
together. Then they will be located In a
continuous area of memoiy.
MD$PTr Is a pointer to the module within
the block. It is the offset from the start of the
block to where the module Is located. This
probably would be $0000. But where
numerous modules have been entered, they
each will have there own ofTset within the
block.
Finally there Is the module link count.
MD$L!nk Is the link count of the module. As
long as It is 1 or more, it will occupy the
memoiy block that has been allocated to it.
When it goes to zero. OS-9 will remove It and
put the memoiy back Into the memoiy pool. A
nice result of this Is if a number of modules
have been loaded Into the same memory
block, they all will remain, as long as one Is
linked.
Listing 2 Is Baslc09 program that will
print the module dlrectoiy for you. It differs
from the Level 1 version. Not only Is the
directory format different as I have outlined,
but the memoiy cannot be PEEKed as was done
before. Have no fear, there is a way.
The Level 2 System Call. F$GModDr, can
be used. It copies the module dlrectoiy Into a
2k buffer, supplied by the caller. It also
returns the start and end of the module
directory In the system memory. On entiy
register X points to the buffer. On return
register U is the start of the memory address
and Y is the end. Now. how do we use it from
BASIC09?
Easy! The HASIC09 TOOLS available from
Southeast Media have a module called
SYSCALL. This module written In 6809 object
code provides a means to pass parameters to
the CPU's registers, execute one of the OS-9
Service Requests and return the information
In the registers. This makes It an easy task to
access the service request from BAS1C09.
The call to SYSCALL requires two
variables to be passed. One Is a complex
variable, 10 bytes In size. It contains the all
the 6809 CPU registers, except for S. the stack
pointer. The other Is the numerical value of
the system call. This routine requires
checking the returned values for successful
execution. Notice how the program In Listing
2 checks whether the LSB of REG.CC Is set. If It
Is set. then REG.B has the error code number.
Enough said about the program. Let's run
It and see what It does.
ENTRY ♦
IKACi
SIZE
MOOOIZ
LINK
0001
0FE8
1000
0000
0001
0002
0FF8
0D1B
0A40
0001
0003
0FE8
1000
02BC
0001
0004
0FE8
1000
051D
0001
0005
0FE8
1000
0970
0000
0006
0F22
3FC5
0400
0001
0007
0F22
3FC5
10A9
0001
68' Micro Journal
November 157
13
Again [ am only showing a partial listing
of the programs output. But it does display the
information from the module directory. We
can take a look at one of the memory blocks.
Notice that DAT Image Pointer $0FE8 has 4
modules in it. The entire block in 4096
($1000) bytes in size. The modules are
ldentliled by their offsets from the start of the
block. Entry $0001 is the first one at offset
$0000. Entry $0002 is at $02BC. $0004 is at
$05 ID and $0005 is at $0970. It is a fairly
good bet that this last one ends at $OFFF.
recalling the entire block size is $ 1000 bytes.
There is an easier way to see the contents
of module directory. Again, it is MDIR. The
Level 2 OS-9 uses a different version of MDIR.
This one uses the service request, F$GModDr.
It prints out similar information, like the
Level 1 version. But it Is tuned to the I-evel 2
system requirements. Using Is on my system,
gives us:
Block
Offset:
Sire
Typ
Rev Attr
Use Module Name
FE
2BC
CI
F I .. .
1 Boot
FD
A40
2DB
CI
r. . .
1 Boot 3
FE
2BC
261
CI
r . ..
1 Boot!
FE
SID
2D3
CI
t ...
1 Boot2
FE
970
690
CO
8 r...
OS9pl
1
400
CA9
CO
2 r...
1 OS9p2
1
10A9
2E
CO
1 r...
1 Init
Here we see block $FE corresponds to the
DAT Image Pointer at $0FE8.The 4 modules it
contains are located at the offsets that were
described earlier. If we take the last module
and add the size to It, we find that it ends at
$0FFF. This makes the block of memory used
4096 bytes long as pointed out earlier.
These two listings give you a means to look
at the module directory. It is more practical to
use the MDIR. But it is fun to dissect the
system and see what makes it work.
Before I totally leave the subject of this
months programs. I want to say one more
thing about the BASIC09 TOOLS. If you do
have the package, a few lines In Listing 1 can
be replaced. Specifically lines $01BD. $01D6
and $0240. The TOOLS have a subprogram
called DPEEK. It returns the integer value at a
memory location. Using tt. line $0240 would
be changed to:
RUN DPEEK(MD.location.index)
The other lines would be changed
accordingly. Either method works. There are
a total of 21 subprograms in the BASIC09
TOOLS Besides the fact that I created them,
they make a nice addition to your BASIC09
library.
LINK IT TOGETHER
I could not leave this month without
mentioning LINKlng to modules, it differs
between Level 1 and 2 somewhat. And it is
worthwhile mentioning.
In Level 1. linking to a module is rather
simple. Whenever a module Is linked to a
process, the link count Is increased. This
Insures that is will remain in memory, as long
as someone is using it. A general rule to follow
is only UNLINK what you have LINKed. If you
cause the link count to go to zero, then it will
be removed from memory. This could be very
upsetting for another process. This is all that
Linking does for Level 1 .
Level 2 systems also use the link count as
an Indicator of how many processes are using
a particular module. But it does a little more.
Linking to a module maps it Into the task's
space. The module does not move in physical
memory. Rather it appears to be located in the
processes memory space. This is the illusion
of Dynamic Address Translation. When the
module is unlinked, its count is decreased and
it disappears from the memory of the process.
Generally, linking is accomplished with a
call to the F$LINK. This system service
request requires two Input parameters.
Register X points to the module name. Register
A contains the module type and language byte.
On returns the register Y points to the entry
address for the module. U points to the start of
the module. And. of course, the link count is
Increased.
Most times you will not have concern
yourself with using F$LINK. When a module is
loaded or executed, it is linked. Ihese all occur
automatically and should not be of major
concern.
That raps up this month. I hope I have
given you some food for thought. Until next
time, have a good month.
LISTING i
PROCEOURE GetModDir
0000
0018
00 IB
002D
003E
004F
005F
0062
00 7A
007D
0089
module
0083
(
C
<• None: GetModDir
(• By: Ron Voigts
(• Date: 2-AUG-87
I" Version: 1.00
C
(
(• Function:
(" This BasicOS program returns the
(• directory for leve 1 OS-9. It
14
November's?
'68' Micro Journal
prints
OODB
(♦ the information in tabular form. 0180
OOFE
(« 016E (* Module Directory Entry Variables
0101
0119
md_entty-HPDat / MBSiz.MPtr, Link : INTEGER
011A
(♦ Module directory pointers 01c8 DIM MD (256) :md_entEy
13 6
TYPE
01D6
nodule direct
ory-start, finish; INTEGER
01D7 (♦ 6609 Register Variables
0145
DIM ModDir ;niodule directory
01P1 TYPE registers-cc,a,b,dp:BYTE;
014E
DIM D_ModDir: INTEGER
x,y, u: INTEGER
0155
0216 DIM reg:registers
0156
(* Module Directory Enty Variables
021F
one
TYPE rad entry-location : INTEGER;
0220 (* level II Functions Service Request
ilnk,duniny:BYTE
0245 DIM GModDr: INTEGER
018D
DIM MD:md entry
024C GModDr:-$lA
0196
DIM index: INTEGER
0254
0190
0255 I* Indexes for later use
01 9E
026D DIM Index, i: INTEGER
019F
(* Intialize variables
0278
01B5
D_ModDlr:-S26
0279 (• Output path
01BD
0287 DIM pathrlNTEGER
ModDir. start:
01D6
-PEEK (OModOir) '256+PEEK (D_ModDlr+l)
028E
028F
ModOlr. finish
:-PEEK(D ModDir*2)«256*PEEK(D Mod01r+3
0290 (♦ Call to FSGModDr
)
01F2
"*
02 A3 reg.x:>ADDR<MD)
02B1 RUN syscalltreg.GKodDr)
01F3
(* Print a header
02C0
0204
PRINT -Addr Link"
02C1 (* Trap any errors that may have
0212
PRINT »
occurred
0220
02EA IF MOO(reg.cc,2)-l THEN
0221
(• Print the table
02FC ERROR reg.b
0233
lndex:»ModDir. start
0304 ELSE
0308
023E
WHILE index<ModDir. finish OO
02 4 S
0309 (♦ Now we write the output to
MD. location :=
PEEX (index) '256+PEEK (index+1)
standard output
0267
►D. link: "PEEK (index+2)
0336 PRINT "ENTRY! IMAGE SIZE MODULE
0277
0266
IF MD.locationoO THEN
PRINT USING -h4, '
HNr\"
'. h2",MD. location. MD. link
02A4
ENDIF
0380 index:-l
02A6
index:-index*4
0387 . FDR i:=reg.x TO re9.y-8 STEP 8
02B1
END Willi*
03A7 PRINT USING
02B5
END
"S(X1,H4,X2)", index, hD (index) .MPDat,MJ (index
) .MBSlz,MD<index) .MPtr,MD (index) .Link
LISTING
2
03E3 lndex:-index+l
03EE NEXT i
PROCEDURE
GetModDir
03F9 ENDIF
0000
001C
03FB END
<♦
001F
<♦ Name: GetModDir
0031
(« By: Ron Volgts
EOF
0042
<♦ Date: 24-JUL-87
0054
{♦ Version: 2.00
0064
0067
0064
(*
(♦
0087
{* Function:
0093
I* This Basic09 program returns the
module
OOBD
(♦ directory for level 2 OS-9.
000B
I* It prints the information in
tabular
0102
(* form.
010A
010D
012A
<♦
(*
012D
(* Outside procedures required:
014C
(♦ SYSCALL from BASIC09 TOOLS
0169
016C
(*
016A
(♦
FOR THOSE WHC
a
NEED TO KNOW
68 MICRO ?
TM
JOURNAL
'68' Mien} Journal
November "87
15
68XX(X) AndThe STDBUS
Bill West
BILL WEST INCORPORATED
174 Robert Drive
Mllford. Connecticut 06460
203 878 9376
This is the first of what will hopefully be a series of
articles describing various hardware configurations of 68XX(X)
systems well-suited to industrial and/or control type
applications. This includes systems that must operate in harsh
environments. ROM-based systems, and any system that must
interface to something other than a standard CRT. printer, or
modem. Since t primarily work with OS9(tm) systems. 1 will
lend to describe the systems from that perspective. The intent
of the articles is to familiarize readers of 68 Micro with
vaiious types of systems, and not to provide comprehensive
or complete technical specifications for any of the systems
presented. Any reader interested in using any of the systems
will need to obtain detailed specifications from the supplier of
the system, or you can contact me for more detailed
information. The first several articles will concentrate on the
STD bus. Later articles will describe how to use Macimosh(un)
and Atari ST(tm) computers in control applications.
The STD bus is a simple, inexpensive bus structure that is
well-suited to the requirements of many control-type systems.
A wide variety of boards are available, including those you
would expect such as CPUs and memory boards, and some
strange beasts such as those with pneumatic valves or radio
receivers mounted on board. The STD bus was originally
developed by Pro-Log Corporation as a simple bus structure
for eight bit systems, and was released for unrestricted use
with no trademarks, copyrights, or patents. STD bus circuit
cards are 6.5" by 4.5" with a 56 contact card edge connector
along one of the short sides. The opposite short side is
considered the user interface, with whatever connections are
required for the functions of a specilic card. The two long
edges are supported by card guides. This provides a stable
mounting configuration with the card supported on two sides
by card guides and on a third side by the backplane connector,
allowing STD bus systems to be used for applications subject
to shock and vibration.
The STD bus as originally conceived was designed to
support typical eight bit processors, and the Z80 in particular.
The 56 fingers of the backplane connector include 16 address
lines. 8 data lines. 22 control lines. 6 logic power lines, and
4 auxiliaiy power lines. The processor has access to a 64
Kbyte memory address space and a 256 byte page of I/O
address space. In addition, memory expansion and I/O
expansion control lines allow access to an additional 64
Kbytes of memoiy and a second 256 byte page of I/O. Recent
variations of ihe STD bus have multiplexed data and address
r a
The STD bus is a simple,
inexpensive bus structure
that is well-suited to the requirements
of many control-type systems...
The biggest attraction
of the STD BUS
is the wide variety of
I/O cards which are available...
lines to handle 20 bit addressing, with some proposals for 24
bit addressing and 16 bit data transfers. A number of 8088
CPU boards using 20 bit addressing and eight bit data
transfers are available. These newer CPUs allow sixtaen bit
addressing of I/O devices. Most of the 68008 boards available
on the STD bus attempt to conform to the 8088 specification
to a greater or lesser extent. The definition of the control
lines on the STD bus is processor dependent, with various
peripheral cards designated as STD-Z80, STD-65/68xx,
STD-8088. or STD-NSC800. This causes some compatibility
problems between cards of different flavors, but a little
reprogramming with a soldering iron and X-aclo tenife will
handle most problems.
I-et me make a slight digression here for those die-hard
Motorola users who have never heard of Intel or the Z80.
Unlike Motorola processors, which treat I/O devices just like
memory locations, Intel processors and the Z80 have special
instructions for accessing I/O ports. A control line from the
processor indicates whether a particular bus access is a
memory access or an I/O port access, and the bus cycle liming
is usually different for I/O accesses. The STD bus reflects its
oiigins by supporting the control lines necessary for this
type of system. Most STD CPU cards which use Motorola or
other processors supporting memory-mapped I/O have a
mapping scheme which allocates some poition of the address
space as I/O space (usually user-definable), and generates the
appropriate control signals.
The STD bus backplane includes two separate power buses.
The main power bus consists of pins 1 through 6. Pins 1 and
2 are five volt logic power, pins 3 and 4 are logic ground, and
pitts 5 and 6 are minus five volts. Pins five and six may
alternately be used for a battery backup voltage and a power
down indicator. The auxiliary power bus includes auxiliary
poslive on pin SS, auxiliary negative on pin 56, and auxiliary
ground on pins S3 and 54. The auxiliary supply is usually
16
November U7
68" Micro Journal
plus and minus 12 volls for RS232 drivers, or plus and minus
15 volls for analog circuits such as A/D convenors. Logic
ground and auxiliary ground are separate circuits on the
backplane, but may be connected on some cards or at the
power supply.
Although the number of data and address lines available in
a particular bus structure are important in determining the
potential peak performance of a system using the bus, the
unique characteristics of a bus which determine its
"personality", or appropriateness for a particular application,
are a result of the control lines which regulate the interactions
among the various cards inserted in the backplane. The STD
bus provides 22 control lines, and the underlying theme in
their organization is simplicity. Other than the fact that
components are physically arranged on different cards and a
few more data and address buffers are present, there is little
difference between many STD bus systems and a single board
computer with similar capabilities. The advantage of the STD
bus system is that you can mix and match I/O devices to suit
your particular requirements. Following is a list of the control
lines present on the STD backplane, along with a general
desciiption of their function. Note that signal names followed
by a "•" are active low. This convention is usually used in
STD bus documentation, and makes life easy for typesetters.
WR* - Write indicates that the current bus cycle is a data
transfer from the current bus master to memoiy or an I/O port.
Data should be latched into memory or the port on the trailing
(rising) edge of WR*.
RD* - Read indicates that the current bus cycle is a data
transfer from memory or an I/O port to the current bus master.
Data should be latched on the trailing (rising) edge of RD*.
IORQ* - I/O request indicates that the current bus cycle is an
access to an I/O port. For Z80 processors, an interrupt
acknowledge cycle is indicated by IORQ* and STATUS1*
being active simultaneously.
MEMRQ* - Memory request indicates the the current bus cycle
is an access to memoiy (or memory-mapped I/O).
IOEXP - When high, I/O expansion indicates that the
expansion page of I/O ports is being accessed.
MEMEX - When high, memory expansion indicates that the
expanded memory area is being accessed. This signal is
equivalent to A 16, and is normally not used in systems with
20 bit multiplexed addressing.
REFRESH* - Refresh indicates that the current bus cycle is a
refresh cycle for dynamic RAM. This signal is generated by
the Z80 processor, but is seldom used in newer systems.
MCSYNC* - Machine cycle sync is a processor dependent
signal that normally indicates the beginning of a machine
cycle. On systems using extended addressing (more than
sixteen address lines), this signal is used to latch the upper
address lines.
STATUS)* - Status 1 is a signal from the current master to
provide liming information for peripheral devices. If available
from the current master, this signal should indicate an
instruction fetch. On Z80 systems, this is the Ml* signal
which normal indicates an opcode fetch, but indicates an
interrupt acknowledge cycle if it occurs together with IORQ*
STATUSO* - Status is an additional timing signal for
peripheral devices. Systems using Motorola processors usually
put R/W* on this line. Unfortunately, Z80 systems typically
don't use this line, and Intel systems put the equivalent signal
on STATU SI* (opposite polarity no less). This is a major
source of jncompatabiljty between various STD bus boards. (If
you are currently using the STD bus and this is a problem for
you, give me a call.)
BUSAK* - The bus acknowledge signal originates from the
permanent master to indicate the bus is available to a
temporary master.
BUSRQ* • The bus request signal is used by a temporary
master such as a DMA controller to request control of the bus
from the permanent master.
INTAK* • Interrupt acknowledge is generated by the peimanent
master to indicate the beginning of interrupt service. In
vectored interrupt systems such as those using Z80 mode 2
interrupts, the interrupting device places the interrupt vector
on the data bus in response to this signal. If more than one
source of interrupts is present in a system using vectored
interrupts, a hardware priority scheme is necessary to
determine which interrupting device is being serviced.
INTRQ* - Interrupt request is used by peripheral devices lo
interrupt the permanent master.
WAITRQ* - Wait request is used to insert wait states in the
current bus cycle. A valid address should be held on the bus
when this signal is asserted.
NMIRQ* - Non-maskable interrupt is a high-priority interrupt
request line.
SYSRESET* - System reset forces a hardware reset of all
circuits.
PBRESET* - Push button reset is an input to the system reset
circuitry which causes SYSRESET* to be asserted.
CLOCK* - This signal is the processor or system clock.
CNTRL* - Control is an auxiliary clock signal lo provide
additional timing information.
PCO - Priority chain out, along with PCI, is used lo
implement a position dependent daisy-chain priority scheme
which may be used for arbitrating interrupt service or bus
access. This active high signal indicates to lower priority
cards that no higher priority card needs service.
PCI - Priority chain in may be used with PCO to arbitrate bus
access or interrupt service. A card with PCI low will hold its
PCO low and not respond to BUSAK* or INTAK*. A card
requesting service with PCI high will hold its PCO low lo
suppress responses from lower priority cards, and respond to
the appropriate acknowledge signal. A card not requesting
service will pass the state of its PCI input to its PCO output.
'66' Micro Journal
November "87
17
The backplane serial priority chain using PCO and PCI is
usually used for arbitrating interrupt priority. Parallel
arbitration schemes for both bus and interrupt priority and
serial schemes for bus priority may be implemented by
interconnecting cards along the user edge. Although STD bus
practice includes recommendations for such systems, they are
very manufacturer dependent.
What are the advantages and disadvantages of the STD bus
compared to other bus structures and single board computers ?
Let's look at single board computers first. A single board
computer will almost always be less expensive than an
equivalent multi-board system. Aside from the cost of multiple
PC boards, a multi-board system requires a backplane with
expensive connectors for interconnecting system components,
plus additional buffering to drive signals over the backplane.
The physical dimensions of the two types of system are
different, and one or the other may better meet the
requirements of a particular design. A single board system has
a flat form factor, while an STD system is shaped more like a
brick or a shoebox. An STD system allows much greater
flexibility in selecting I/O configurations than a single-board
computer, and allows the addition of new I/O interfaces if
system requirements change. Compared to other bus systems,
the STD bus has the advantages of small card size, low cost,
and probably the widest variety of interfaces from the largest
number of manufacturers. In addition, the bus interface is very
simple. Many systems with unique interfacing requirements
may be put together with an off-the-shelf CPU, memory, and
disk and terminal I/O. and an easily designed custom I/O
board. This would be a more difficult undertaking on a more
complex bus such as the VME bus. Other bus structures such
as the VME bus support higher performance systems than the
STD bus. For a multiuser system connected to disks, printers,
and CRTs, the VME bus might be a belter selection. One of
the greatest disadvantages of the STD bus is that despite its
name^ there are several different varieties of STD bus which
treat certain control signals differently. In practice however,
the problems caused by these incompatabilities are most
severe when integrating a CPU with dynamic memories and
disk controllers. Usually an appropriate base configuration
can be arrived at with a compatible CPU, memory, and disk
controller. Then the user can pick and choose from the wide
variety of I/O cards available on the STD bus.
The biggest attraction of the STD BUS is the wide variety
of I/O cards which are available. Serial and parallel interfaces,
disk controllers, SCSI interfaces, and LAN controllers in both
conventional and intelligent configurations are supplied by
numerous manufacturers. The STD Bus Buyer's Guide lists
analog input or output products from 47 different
manufacturers. A number of different types of display are
supported, including video. LED, LCD. and plasma displays.
As examples of some of the more unusual boards available,
C-Matic Systems Ltd. supplies the STD 1920, a digital gauge
head signal conditioning and interpolation board which
FOR THOSE WH
provides a direct interface into Moire fringe type gauge heads,
and the STD 1410 four channel LVTD/lnductive transducer
interface with four independent channels of excitation and
conditioning for interface to LVDT position guages. Contaq
Technologies' UDM STD ultrasonic distance measuring board
contains the complete signal processing necessary to perfoim
non-contact distance measurement of objects betwaen 0.5 and
35 feet, using ultrasonic techniques. Conway Engineering and
Advanced Micro Systems both supply boards using National
Semiconductor's voice synthesizer to provide voice output
from the STD bus. Enlode Incorporated and Mimic, Inc.
provide the reverse function with a cards that digitize audio
inputs. Micro-Link and Parker Pneutronics supply STD bus
cards with pneumatic valves or pressure switches and controls
mounted directly on the card. If an application requires a
special interface not available as an off the shelf product,
prototyping cards are available which include the bus interface
and an area for wire-wrapping. The interface to the bus is veiy
simple and can be implemented with an address decoder, data
bus buffer, and a few gales or a PAL(tm), allowing custom STD
PC boards to be developed quickly and cheaply.
A number of Motorola family processors are available on
the STD bus, ranging from the 6802 to the 68010. Along
with proprietary monitors from various vendors. ROM and
disk based systems are available using FORTH, PDOS, FLEX,
OS9 Level I and 2, and OS9 68K. The most recent edition of
the STD BUS Buyer's Guide from Control Engineering listed
over 25 CPU boards using a Motorola family processor. Next
month, I will briefly review some of the more interesting STD
CPUs using Motorola processors. In the future I hope to
discuss using the STD bus as an I/O expansion bus for other
systems, including VME bus systems, systems based on the
GMX Micro. 20, and Apple Macintosh and Atari ST systems.
Let me know if there is a particular topic which you would
like to see addressed.
If you would like information about manufacturers of STD
bus products or technical specifications for the various
varieties of STD bus. you can contact the John Orr, Chairman
of the STD Manufacturer's Group, c/o Pro-Log Corporation,
2560 Garden Road, Monterey, CA, 93940. The telephone
number is 408 372-4593. The "STD Bus Buyer's Guide" is a
good (but expensive - S44.95) reference which lists many STD
bus products and manufacturers. Contact the "Control
Engineering" Microcomputer Interface Group at
1-800-992-4447 (1-800-348-8342 in Illinois) if you are
interested. And don't miss the ad for Bill West Incorporated
elswhere in this issue I
Trademarks: OS9, Microware; Macintosh. Apple; ST, Atari.
68 MICRO
JOURNAL
™
te
November '87
68 Micro .toumal
L©gi<oally
kino
The following ii the
SSSJiStS 1 The Mathematical Design of Digital Control Circuits
remember Bob I inn hii
sencs of I cue is on X BASIC.
If you like it or warn more,
let Hob or ui know. We want
to give you ■ what you want'
I3y : R. Jones
Micron ici Research Coip.
33383 Lynn Ave., Abbotsfoid, B.C.
Canada V2S 1 E2
Copyrighted © by R. Jono & CPI
Solutions to TEST THREE
cd\ oo ol u 10
oo
o\
H
10
1
00
0)
oo o\ |l IO
o\
1
11
1
\o
c£\
CO CI (1 to
oo
01
11
1
1
to
I
1
OO
1
01
II
IO
Q jK oo ol ti
oo
- ■
Ol
11
IO
i
1
oA \tf>,°' . u io
oo
'
—
1
0|
I
11
1
10
1
eft
Solutfons (O TEST POUR
(io)
M
rJ\ oo,oi , II io
oo
01
II
10
(?)
\ob
Q j\ <» o< U IC
oo
II
10 _
yob
t
1
oo
I
o(
1
I
II
1
1
IO
1
1
oo
ob
OO Ol U to
OO
1
Ol
I
II
10
cd \O0 ol |1 l£j
OO
1
1
Ol
t|
lo
1
1
(?)
r( i\oo oi U io
oo
1
1
\
I
01
11
10
1
1
1
I
<»)
(i) bd' + b'd
(ii) a'c* + bd 1
<iU) *• + d
(iv) b* + d
<b* + d')(b + d)
(a' + bj<a' td'Kbtc'Kc' + d')
a' + d
b' + d
(v> b*c + be" + a'c'd' (b' + c*) (a 1 + b + c) (b + c + d")
OR b'c + be' + a'b'd'
(vi) ad' + bd' + abc' (a + b) <a + d' Mb + d* ) (c ' + d')
(vii) b* + d' b' + d'
(viii) abc + bed + ad + be
(a' + b + c> (a' + b* + c') (a' + b' * d) (b' + c" +■ d) (b + c + d)
OR [a' + b + c) (a' + b' + c'J (a* + c + d> {b* + c' + d) (b + c + d)
Mile 3 - heading for Mile 4
66" Micro Journal
November "87
19
IMPLICANTS
Here are definitions for a few words you're likely to come across In literature on this subject,
but you need make no special effort to remember them right now.
IMPL1CANT Every mlnterm on a K-map is an tmplicant. That is. each single "1". So also is
ANY loop that you can make on the map, whether it's the largest possible to Include a particular
mlntenn. or whether it's not.
PRIME IMPLICANT Any loop on the map. AS LONG AS ITS THE LARGEST POSSIBLE LOOP
to Include a particular mlnterm.
ESSENTIAL PRIME IMPLICANT A prime lmpllcant which MUST be retained In the reading
of the K-map. In Map (v) of TEST FOUR, for Instance, the top left-hand "1" may be looped either
with the "1" to the right. OR with the "1" In the bottom left-hand comer. Here, where you have a
choice, neither Is ESSENTIAL. The other two loops are, however.
THE SYNTHESIS OF COMBINATIONAL CONTROL-CIRCUITS
Here's what you've all been waiting for! Desiring an actual circuit, albeit a simple one. I
think the best way to demonstrate the technique Is to work on a hypothetical set of
specifications, so we'll assume that a customer wishes us to construct a circuit to Initiate the
automatic packaging of electrical switch-boxes. Let us therefore imagine a conveyor-system
carrying streams of switch-boxes towards the packaging-machine, and Just before the machine
we need a 111 tie switch-panel, with a small bank of switches which can be toggled ON or OFF by a
human operator, who scans the switch-boxes as they approach him on the belt. These switches
are labelled 'FUSED'. 'CHROMED', etc. as we'll determine from the supplied set of specs. Here
they are :
1. The switch will be packaged If It's seam- welded and painted grey. OR if the case is
unpalnted but chrome-plated.
2. The switch will NOr be packaged If fuses are Incorporated and the case is seam-welded
and chrome-plated. It will also NOr be packaged If the case Is spot-welded and painted.
3. If fuses are Installed and the case Is painted. It may or may not be packaged, at OUR
discretion - whichever leads to the simpler circuit.
Now we can imagine the operator flipping the bank of control-switches in accordance with
the type of switch-box approaching, which in turn will either divert the switch-box off to one
side, OR allow it to proceed Into the packaging machine. It's not likely that you'll be called on to
design this veiy circuit, but you'll certainly use exactly the technique which I'm about to
describe.
Our first step, as In the case of Club membership, is to pick out the variables Involved and
assign letters to them, as set out below :
w - seam-welded w' - spot-welded
p - painted p' - chromed (ie, unpainted)
g - grey g' - not grey
f - fused f - unfused
T (the transmission function) - 1 for package
- for don't package.
And Just to make It a little more Interesting, we'll throw in our own observation that
"chromed AND j£"ey" is an Impossible condition, which we'll call Specification 4.
Our second step Is to reduce these specs to algebraic form :
1. If wpg + p' then T - 1
2. If fwp' + w'p then T -
3. If fp then T -
4 . p'g T - a
20 November B7 '68' Micro Journal
Both these symbols, and 0. are pronounced "fy". as In "magnify", and are upper and lower-
case Greek letter "phi" respectively. The first. 0. will be used whenever we have a choice, or don't
care to make a decision for the moment. For this reason. It's often referred to as a "don't care".
The second. 0. will be used to designate an Impossible condition. As far as I know, no such
distinction Is made by ANY OTHER design-system, and you'll find that other authors use only
the one symbol. 0. for both conditions. However, in my expeilence, two separate symbols DO
have certain distinct advantages, as we'll see shortly.
Ol Li
10
r<P
Ol
11
10
CO
1
0]
1
OO
II
10
1
O
4>
1
01
1
o<t>\ $
10
1
O
*
I
II
\0
0$|l4
\O0
O
1
\0
10
|l
\0
O
1
4
(.a)
Cb)
(Diagram 10
r^ p
Mr
00 1
CO
Ol
It
ro
y
£L
to
K
The third step Is to enter these expressions on a "synthesis map", which Is no more than a K-
map, but with the difference that multiple symbols may be entered In Its squares, provided that
no more than one of each kind Is so entered. Dta^am 10a shows our first attempt at entering
the appropriate symbol (1. 0. or 0) according to the teims In the four expressions obtained
from the specifications. If the specs were all In order we should see a completely-filled map with
exactly one symbol In each square, and the fact that this Is NOT so Indicates that we have
logical problems In our specs.
CONTRADICTIONS AND AMBIGUITD2S
Different entries In one square Indicate a "contradiction", while an empty square arises
from an "ambiguity", or unspecified condition.
For example, squaie 1001 indicates that the customer wants to both package and NOT
package under the condition wp'g'f. Square 1011, wp'gf , Is even worse - not only is there a direct
contradiction In the specs, but this Is a situation which Is Impossible to occur anyway.
On the other hand, the empty square 1 100. wpg'f . needs an Instruction from the specifier. So
let's assume that when we contact him and point all this out. he says that he doesn't care what
we do with 1 100. so we Insert a in this square. Well further assume that he decides that any
1,0 contradictions should be resolved In favour of 1.
Any squares which contain an "impossible" are. of course. Immediately converted to a
definite 0, as any instruction other than this Is meaningless when the situation is Impossible.
Squares containing a "don't care" 0. however, must give precedence to a definite 1. or 0.
occupying the same square as Itself. The customer has already told us to resolve 1 ,0
contradictions in favour of 1, so we'll not have any 1.0s In the same square any longer.
Applying all this to K-map 10a results In K-map 10b. which Is now an acceptable map. as It
contains EXACTLY one entry per square. We find that if we read out Ihe Is on this map we
obtain the control expression :
P'g" + wpg
with no mention of "f ', so obviously the question of whether the switch-box is fused or not Is
totally irrelevant. Note in passing that again ONCE WE HAVE OUR PROBLEM SAFELY
COMMOTED TO A MAP. THE PROBLEM IS AUTOMATICALLY SOLVED.
BUT. and this Is EXmEMELY Important In designing good reliable circuits. WE CAN MAKE
USE OF THE PHI's fN BOTH FORMS TO MINIMISE OUR NETWORK STILL FURTHER
CIRCUIT MINIMISATION USING PHI
We can use the 0s (after all. the customer has said that he doesn't care what happens under
these conditions) as If they were is. thus reducing our readout of "wpg" to "wp". to give a control-
expression of
'66' Micro Journal
November '87
21
P'g + wp
Moreover. If a particular set of conditions can NEVER arise, we COULD design our circuit to
hand out free dilnks to everyone under these circumstances BECAUSE THIS WILL NEVER BE
CALLED ON TO OCCUR However, as our only aim is to obtain nice large loops on our K-map.
we'll settle for making the as into Is as well. We thus end up with Diagram 10c above - shown for
demonstration puiposes only, as we don't ACTUALLY convert the phi's to Is: we simply read
them as if they were. Accordingly we end up with a reading of :
p' + w
by looping together the first and last columns to give p'. and the last two columns to give w.
By making optimum use of the phi's we have not only reduced the total number of contacts from
an initial 5 to a final 2. but have also eliminated another variable so that we now only need 2
switches to be set by the operator. Instead of our earlier 3. 1 his helps to reduce the possibility of
human error in setting the switches, especially at the end of a long, tiling shift, as he now only
has to determine the type of welding on the switch-boxes, and whether they're chromed or not.
Our circuit can be formed directly from the switches themselves, without the need of any relays,
as shown In Diagram 1 1 :
ri
Packaging rlOClUne
Diagram 1 1
READING PHI TO FORM OPTIMUM LOOPS
Don't be misled Into thinking that ALL the phi's MUSI* be completely used up. We can pick
and choose, and select only those which are necessaiy to give us the best reading of the K-map
formed from the synthesis map. the remainder being interpreted as Os.
In the case of this circuit, reading the Os. and then complementing, results In exactly the
same circuit, indicating that there Is no alternative form. But keep In mind - THIS IS
IMPORPANT - when reading Os. that you can now make a completely different decision
regarding the phi's. Just because a Is reading leaves us with a certain collection of "phl-Os"
doesn't mean that we're stuck with this interpretation. No. this Is a completely separate and
Independent read-out of the map! Sometimes It happens that the phi's are more advantageously
distributed for a Os read-out. and we can actually end up with a smaller circuit this way.
Sometimes, of course, it's a more complicated circuit! So. to be absolutely certain, we should do
both types of map-reading.
A BRIEF RE-CAP
Before trying a second circuit-design, let's Just take a final look at this whole process, and
observe how difficult (nay. Impossible) it would be to discover the logical contradictions In our
Initial set of wiitten specs, or that there's one combination of switch-box characteristics that's
not even covered. Even though this is a VERY small set of specs! It's difficult enough to
determine this EVEN WHEN WE KNOW FROM OUR SYNTHESIS-MAP that these logical
problems exist. This is what makes it so hard sometimes to design a circuit by the old "seat-of-
the-pants" method, where a designer simply sits down and begins drawing up a circuit directly
from the specs. In addition, very often he has so much trouble trying to design for what
APPEARS to be "possible", according to the specs, that he sees no need at all to concern himself
with the added burden of what is "Impossible" in a circuit. There must be thousands of designers
who don't realise what a terrific advantage both types of phi can offer. In fact, the more of them
there are. the more flexibility we have in choosing our final network, and. in general, the more
compact the final design is going to bel So let's keep an eye open for these little fellows, and use
them to our advantage at every opportunity. By the way, the symbol was originally chosen
because it actually looks like a 1 and a superimposed, meaning that, for the moment, we
haven't decided which It's going to be.
22 November '87 '68' Micro Journal
ANOTHER COMBINATIONAL CIRCUIT DESIGN
To re-inforce our new technique, let's assume that we have a mechanical press, which has to
cycle automatically if there's a component positioned correctly AND the die Is up to
temperature, OR If the Stait-Swltch Is operated (possibly to test for smooth operation by a set-up
technician). It should stop If the Stop-Switch is operated.
That certainly seems straightforward enough - no logical problems there that I can
deteimlne right now! How about you? Do you see any?
Let's design two different machines. One where the Stop and Stait switches are Interlocked
to prevent both of them from being actuated simultaneously (that seems a reasonable
precaution), and two, where these switches are tnterlocked to prevent both ON-conditions from
occurring simultaneously, and also both OFF-condltlons (that is. If one Is ON, the other must be
OFF). If we call the Stait-Swltch XI and the Stop-Switch Hi. this means that In Circuit- 1 XI. X2
= a. and In Clrcutt-2 XI. X2 and XI '.X2' = a.
OK, let's allocate our variables, and set out our various transmission functions for these
circuits.
Let a «• Part in position
C - STOP-Switch operated
b " die up to temperature
d - START-Switch operated
hen ab + d
T - 1
c
T -
cd
T - a
(circuit 1)
OR cd + c'd'
T -
(circuit 2)
ab
©0
1,
o[
1
,
1
1
11
2
of
O0
1
10
a
i
o
o
t
o
rcfS
>
oo 01 U to
eo
~$
4>
1
*
01
I
i
1
1
II
ad
i
od
1
o4
od
10
o
o
o
1
CO
CO
«b
oo 0\ tllO
oo
o
o
\
o
01
1
1
1
I
11
*
to
o
Q
o
>
CO o\ ll to
oo
4
*\*
o\
i
1
'1'
II
<3*
<fi
0p
10
o
O
1 °\°
\ 1
Diagram 12
Observe the (rlple-contiadlctlon along the whole of the 1 1-row of the upper synthesis-map.
In this situation, we don't really need a decision from the customer, because this row Is an
"Impossible" raw. On the othr hand. If these were "don't care" phi's, we would HAVE to go back to
the customer and explain that In effect he's telling us (1) that the press MUST cycle under these
conditions, (ll) that It must NOT cycle and (ill) that he doesn't care what It does. As It's an
"Impossible" situation, however, we merely advise the customer of the flaw In his specs (nicely ,
of course), and eliminate both his Is and his Os In favour of a In this row. Now you see why I
developed the Idea of having two distinct phi's!! In addition there Is a simple 1,0 contradiction
in square 1 110 (interpretation - part in position, die up to temperature, STOP-swltch pressed.
START-swltch not pressed), which common-sense dictates should be resolved in favour of 0.
'68' Micro Journal
November's/
23
Obviously, even though the press conditions are OK, If someone Is activating the STOP-switch
the press MUST stop. Maybe someone has his fingers or his head caught In the press, and must
be released! There are also a few ambiguities, or unspecified conditions, in the top row. which a
further application of common-sense will normally resolve in favour of O. This produces the It-
map to the right, from which we read out abc' + d.
The lower synthesis-map gives us an additional row of os in the top row. which we resolve
completely In favour of 0. resulting in the K-map to the light, we can read this as either c' (by
looping the top 2 rows) or as d (by looping the centre 2 rows). As this circuit does not take into
account ANY of the Internal press conditions, we would be well advised to go back to our
customer to verify whether this is what he REALLY desires!
Isn't it amazing how these little Is and Os and phi's show up the logical flaws In
specifications, which might otherwise go undetected!! The synthesis-map also highlights
ambiguities, so that we can be ABSOLUTELY certain that we've not overlooked a particular
combination of circumstances in our design, leaving the machine or circuit undecided what to
do should this combination occur.
Now it's your turn to try your hand. Don't concern yourself with whether these are realistic
machines or not. After all. if this is what the customer wants, who are we to argue with him?
Don't forget, we're In this business to earn some money with our fabulous designs! So let's go
make our fortune!! Here then Is
TEST FIVE
1. This may sound a little confusing, so take It one step at a time. Assume we have an
automatic car-washing establishment, whose entrance-barrier will be raised if the right coins
are dropped into a collection-box. The presence of a car is Indicated by a detector-pad in the
entrance-way, and the cars are counted by a photocell device.
The proprietor requires a light in his office to be ON if the barrier is down and the photocell
lit and no car present. OR if a car is present, the light-souice OK and the photocell not lit (In
other words, everything is functioning normally). On the other hand, the office-light is to go out
If the light-source for the photocell goes out. OR if the barrier is raised when no car Is present
(but the light-souice Is OK and the photocell is lit). Design the circuit to control the office-light.
HINT : It's impossible, with no car present, for the light-source to be OK and the photocell not
lit. or vice-versa.
2. Design a release-mechanism for a chocolate-bar machine, such that the pull-drawer can
be operated If '2 dimes plus 1 nickel' OR 1 quarter is Inserted, and then a button pressed. The
release mechanism must not operate if there are no chocolate-bars in the machine. (Let's not
worry about returning the customer's money!) Further, both sets of coins cannot be Inserted
simultaneously.
That should keep you all quiet for a little while! Our journey will get more and more
Interesting from now on in. and It will be a long while before we come across anything as
strange as the Laws of Boolean swamp. Soon, we'll even be leaving K-maps behind, and playing
with decimal numbers Instead, as I promised earlier. So next lime, we'll move out of
Combinational-Circuit country, and Into the land of Sequential-Circuits. An easy transition. I
can assure you. Well, anyway, it won't be a hard one!
End of Mile 3. OK. have it your way -- Start of Mile 4!
EOF
FOR THOSE WHO l »VMilWJtiffffla ■ 68 micro
JOURNAL
24 November '87 68' Micro Journal
Con verting the IBM-XT Keyboard
I to Replace the CT-82
s/Cltve K. Allan
23 Henwood Street
Blackburn South Victoria 3130
Australia
Here Is a neat little hardware project using the
MC68705P3 8-btt Eprom microcomputer that you and
your readers may find Interesting.
The design revolves around converting an IBM-
XT type keyboard serial output into 7 bit parallel
ascil with strobe line. In my particular case I wanted
it to emulate the SWTPC's CT-82 keyboard which
meant some additional circuitry.
Before getting Into the nitty gritty I would like to
point out that the original Idea, software and
hardware development was done by 2 fellow micro
club members. Frank CrlvelU and Wayne Fordham. I
owe them much In helping me line tune this project
to get It to work on the XT keyboard.
In wanting to replace my rapidly decaying
keyyyboooard I looked around fr a suitable
alternative. Unfortunately the peple at SWTPC
developed an Interesting way of getting both standard
parallel ascil and parallel cursor control output. They
split the 2 Into affectively two totally seperate
keyboards, each with Its own data and strobe lines.
Veiy good you might say, but rather difficult to
replace.
This was when I discovered that my 2 friends had
developed a way of converting an IBM keyboard to 7
bit asctl parallel output. I duly went out and
purchased an IBM keyboard clone, borrowed one of
thler MC68705's and proptly found It dld'nt work at
all. So much for doing It the easy way!
I soon discovered that not all IBM keyboards are
the same. They all have the same hardware
requirements, but thats where the slmularlty ends.
From what I can gather there are at least three
different units. 1) PC keyboard - Earliest keyboard
has a 10 bit data stream 2) XT keyboard - Cheaple
IBM has 9 bit data stream 3) AT keyboard - Not the
same as above (haven't worked It out)
The keyboard I purchased was a swltchable
XT /AT modi and I used It In the XT mode to get the
little Indicator lights to work (caps lock etc). There
are 4 connections to the keyboard; power (5v). ground,
serial data output and serial clock output.
In operation, when a key Is depressed 9 clock
pulses are sent out on the serial clock line (approx 50
micro Sees apart) and simultaneously data Is sent out
over the data line. By sampling the condition of the
data line at every clock pulse the data can be
determined. If the first clock pulse and associate! dala
Is Ignored, the following 8 make up a unique 8 bit code
for that particular key. BO Is sent out fli-st. B7 last. B7
Is special In that It Indicates whether the key was
depressed (B7=0) or the key was released (B7«=l).
Once the data Is In, It Is only a matter of code
conversion and In my particular case directing to
keyboard output or cursor output.
I used the INT Input of the MC68705 to receive
the serial clock ftom the keyboard. This Is done In an
Interupt mode because the veiy short durallo of the
clock pulse (<5 micro Sees) prohibited reliable level
checking of a port pin using polling. The INT can be
made to bring up an Interupt much like a CA pin of a
6821.
Serial data Is shifted Into temp store and a
counter Is Incremented. The main program checks
this count and when It has reached 9 (because I do
not want the first bit) a valid byte is In the temp store.
You could change this count to suit say a PC
keyboard In which case It would count to 10 before
flagging a valid byte.
The main program Is fairly straight forward In
converting this byte Into Its asctl equivalent. The
program also remembers If nums lock, caps lock,
shift etc Is active. Remember, as far as the keyboard
Is concerned all of hese keys (Alt. Caps Lock. Num lok
etc) are Just that - keys, they d not modify the output
of other keys. It Is up to the 6805 to track of their
condition. E.g don't unplug the keyboard then plug It
back In and expect It to work properly as the
keyboard's condition may not be what the 6805
thinks It should be.
One last point that should be made and some of
you may have already figured It out. Is that because of
the way of collecting data ftom the keyboard there Is a
risk that a serial clock pulse Is missed or mote likely
a glltc Is mistaken for a clock pulse the 6805 Is
permanently out of sync with the keyboard and the
only way to correct Is to reset the cpu.
I found this out the hard way when I flicked the
switch on the keyboard to AT and back to XT then
wondered why It slopped working. Fortunately there
Is an Inbuilt timer in the cpu. All I did was to work out
how long valid data took to enter and be processed. If
this value Is blown the timer Initiates an Interupt
whose routine clears down all the flags affectively
esetlng the cpu.
'68' Micro Journal
November's?
25
3
o
3
9
IBM
XT KEYBOARD
DECODER
IBM- XT KEYBOARD CONVERS ION TO ASCII PARRALLEL
10 BE USED AS REPLACEMENT KEYBOARD FOR CT-8?
Original Idea, software and hardware develop-
ment by Frank Crivelli t Wayne Fardham
Modified to suit XT keyboard aid CT-B2 by:
Clive Allan
23 Hen wood Street, Blackburn South 3130
victoria, Australia.
Date 12th May 1967
This Software routine has to be assembled by a
6805 assembler; then to be transferred to a
MC68705P3 micro.
HARDWARE
PORT-A - BITS 0-6 KEYBOARD ASCII
OUTPUT TO TERMINAL.
BIT 7 KEYBOARD STROBE
PORT-B - BITS 0-3 CURSOR CONTROL
OUTPUT TO TERMINAL
BIT 4 CURSOR STROBE
PORT-C ■ BIT SERIAL DATA FROM
FROM XT KEYBOARD
INT PIN (2) SERIAL CLOCK FROM XT
KEYBOARD
• GLOBAL EQUATES
*
0000
porta
equ SO
0001
portb
equ $1
0002
portc
equ $2
0004
ddra
equ $4
&
0005
ddrb
equ $5
s
0006
ddrc
equ SE
«■
0008
tdr
equ $8
5
or
c
3
0009
tcr
equ S9
porta ddr
portb ddr
portc ddr
tinier data reg
timer control reg
Mlt7\lo€ P}
»ai y to Ct-%1
btt.1 W»
VT modV
^
w
f
.v> L
t**»o
\
W
u.
bi
w
W>
U, b
i.H\f-r fctT »}
u.
16
to
ys
V,
wi
^HlpT k.Cf ovr-
«. ( >- i Ci •> I o
#D5 * -#S5 ^
£
o
I
0010
0010
0011
0012
0013
* RAH VARIABLES
org
kstate rmb
$010
status of function keys
•
BIT
COKEMT
•
Shift key operated
■
1
Caps key lock activated
•
2
Control key active
•
3
Numbers lock activated
•
4
Alt key operated
•
5-7
Not used
Temp storage for incoming data
store
nnb
1
count
rmb
1
data
rmb
1
raw data
counter for incoming data
processed binary data
* MAIN PROGRAM STARTS HERE
0121
9B
0122
B6
02
0124
A4
01
0126
38
11
0128
BB
11
012A
B7
U
012C
3C
12
012E
9A
012F
80
go
sei
Ida
poitc
anda
($01
lsl
store
adda
store
sta
store
inc
count
ell
iti
mask further interupts
grab k/b data line
shift data in
inc counter
clear int mask
• TWER KAICH-DOG ROUTINE
■
• ALL 8 BITS RAVE HOT BEEN ENTERED IN 30 mSec
• TIME COUNTER HAS FAL1EN THROUGH. RESET
• FLAG VARIABLES.
0130 3F 11
tine
clr
store
0132 3F 13
clr
data
0134 3F 12
clr
count
0136 A6 FF
Ida
ISFF
0138 B7 08
sta
tdr
reset timer
013A IF 09
bclr
7, tcr clear
to allow int
013C 80
rtl
0100
?
0100
3F
10
0102
3F
11
0104
3F
12
0106
3F
13
0108
A6
FF
010A
B7
04
010C
B7
05
010E
B7
08
0110
A6
FE
0112
B7
06
0114
IE
00
0116
18
01
0118
A6
07
011A
B7
09
one
9C
011D
9A
>011E
CC
0151
org $100
* Initialize routine to set paramenters
reset
clr
kstate
clr
store
clr
count
clr
data
Ida
ISFF
sta
ddra
sta
ddrb
sta
tdr
Ida
ISFE
sta
ddrc
bset
7, porta set
bset
4,portb Cursor
Ida
ItOOOOOlll
sta
tcr
rsp
cli
jmp
readml
INTERUPT ROUTINE
clear variables
set ddr for outputs
on ports A i B
reset watch-dog timer
set pozt-C bitO input
key/brd (
strobe lines highb
set timer/128 elk
inhibite timer lnterupt
reset stack
clear inteiupt mask
go to primary
THIS ROUTINE IS CALLED EVERY TIME THE
IBM-XT KEYBOARD CLOCK LINE GOES LOW.
IT HILL BE CAIJ£D 9 TIMES TO STORE
ONE MCTtD, 50 micro SECS BETWEEN CALLS.
013D AA 80
013F B7 00
0141 IF 00
0143 IE 00
0145 20 0A
0147 AA 10
0149 B7 01
014B 19 01
014D 18 01
014F 20 00
01S1 A6 FF
01S3 B7 08
0155 B6 12
0157 Al 09
0159 27 06
OUTPUT ROUTINES
OUTPUT TO KEYBOARD AND STROBE
DATA HELD IN ACC-A
putkey
ora ($80
sta porta
bclr 7, porta
bset 7, porta
bra readml
• OUTPUT TO CURSOR AND STROBE
* DATA HELD IN ACC-A
putchr
ora l$10
sta portb
bclr 4, portb
bset 4 .portb
bra readml
don't alter strobe
output data
strobe low
reset strobe
return to start
don't alter strobe
output data
strobe low
reset strobe
return to start
* PRIMARY PROGRAM STARTS HERE; IS ONLY
* ACTIVE AFTER SERIAL BIT STREAM HAS
* FINISHED FROM KEYBOARD
readml Ida ISFF
sta tdr
read3 Ida count
aipa #39
beg out
reset watchdog
check if valid data
go process data
015B
Al
00
CJIflA
IS00
Is It Idle?
015D
27
F2
beq
readnl
yes, restore watch-dog
* 33
,
43
F9
015F
20
F4
bra
read3
no, could be stuck wait
• 34
,
44
F10
* 35
/
45
NVM IX
• Data
Is in
but order
reversed, clean up.
* 36
srt tR)
46
SRL LK
37
•
47
m-jME-
oiei
A6
08 out
Ida
158
• 38
ALT
48
n
0163
39
11 novel
rol
store
get data out
• 39
SPACE
49
PC UP
0165
36
13
cor
data
stuff it in
0167
4A
deoa
• 4A
4B
< —
0168
26
F9
bne
novel
* *C
4D
— >
016A
3F
12
clr
count
reset bit counter
• 4E
+
4F
END
016C
3F
11
clr
store
clear data catch; ready
for more
• 50
V
51
PG ON
* 52
INS
53
DEL
• CHARACTER
NON IN TEH? STROBE CALIZD 'DATA'
• 54
SYS RES
• CHECK
CONDITION OF FUNCTION KEYS ANO CONVERT
' APPROPRIATE COrftNO
TO ASCII PARRALLEL.
• KEYBOARD DATA FORMAT
; 8
BITS DATA (7TH BIT
» - KEY PRESSED, 1 -
KEY
RELEASED.
• FIRST CHECK
FOR FUNCTION
KEY
' bin code : Function bl
n code: Function
016E B6 13
Ida
data
is tcey being released?
0170 2B 3D
hmi
relcod
bit 7 set
1 01
ISC
OF
I<«
0172 Al 10
empa
tSID
is it control key?
• 02
1
10
Q
0174 27 16
beq
metrls
yes, set blt2 kstate
» 03
2
11
N
0176 Al 2A
enpa
i$2A
is key left shift key
■ 04
3
12
E
0178 27 16
beq
mshift
set bit in kstate
■ 05
4
13
R
017A Al 36
onpa
#$36
is key right shift key
• 06
5
14
T
017C 27 12
beq
mshift
07
6
15
Y
017E Al 3A
enpa
#$3A
is key caps lock key
• 08
7
16
U
0180 27 12
beq
mcapsl
set bit 1 in kstate
■ 09
8
17
I
0182 Al 38
anpa
#538
is key alt key
■ 0A
9
18
O
0184 27 19
beq
maltss
set bit 4 kstate
• 0B
19
P
0186 Al 45
capa
#545
is key num lock
• OC
.
1A
(
0188 27 19
beq
jmumsl
set bit 3 in kstate
■ 0D
-
IB
>
018A 20 3F
bra
sortc
none of the above.
0B
BS
1C
CR
• TOGGLE FLAGS ACCORDING TO KEYS
* ID
CTRL
IE
A
* SHIFT
, ALT,
CTRL SET
AND
RELEASE
' IF
S
20
D
• NUHS
LOCK, CAP LOCKS.
' 21
F
22
G
■ 23
H
24
J
018C 14 10
mstrls
bset
2, testate
' 25
K
26
L
018E 20 1C
bra
readm2
» 27
28
0190 10 10
mshift
bset
0, testate
->o
-
0192 20 18
0194 02 10 04
mcapsl
bra
brset
readni2
1, testate
/fnca
plo
• 2A
SFT <L>
3A
CAPS LK
0197 12 10
bset
1, testate
* 2B
\
38
Fl
0199 20 11
bra
readni2
* 2C
Z
3C
F2
019B 13 10
mcaplo
bclr
1, testate
* 20
X
3D
F3
019D 20 0D
bra
readn2
* 2E
C
3B
F4
019F 18 10
maltss
bset
4, testate
* 2F
V
3F
F5
01A1 20 09
bra
readm2
* 30
B
40
F6
F7
01A3 06 10 04
RVMlnal
brset
3, testate
rtmumlo
* 31
N
41
01A6 16 10
bset
3. testate
* 32
M
42
F8
01A8 20 02
01AA 17 10
>01AC OC 0151
MAunlo
readm2
bra
bclr
readm2
3, testate
readnl
finish with data
Telephone: (615) 842-4600 SOU tfl 'EdS t Media
0S>9, 'Uni'JULX, '}L'LX,S'K''DOS
SOJTWWJiX
.'.'.' 'Jfease Specif ii yimr Operating System and 'J%k Size lit
Te(e\': 5106W6630
Sculptor
Full OEM & Dealer Discounts Available!
THE SCULPTOR SYSTEM
^Kulpkv .-(iiilnn « IPhWiiU fciyrth Ljrn*TTpa>!>n laanqLLup
w<fci m<il Mi<c>|l»—mM«g « iMTUi^iw w
r* njpiviriy u»*nfl l*dlSan*4 Injwgp wth w
mrpACKAGL
T*l UliyWBJ"
AW ESTABUSHED LEADER
SYSTEM [INDEPENDENCE
!feu^ilai *.*«AMn*\ nw*viMbiiml wwhamrritai
tnnlqpnAnQivMmu rctudtaagMS (X% IW X*ru ml
VMS TrM *mhm»iw hu ij tupfurtad >mb )*w «npi ban
MtuI pnvvul <ornpukf r^ Avrwrf) iraA mht mi,n>ijp h
poclwd to rww i^mmi.
APPLICATION PORTABttJTY
Mtjirinv i-i\ vtttwmtw krtHwwf' dUBtttrnf .m*" iwm«mi.«ont <V
!xutptH'»rTU|ca«iSwTMgr« V-hJ. Jin il^vt*^ *(^M* »ft - s
■ m 4 Vr*3 *kin* Pt" *H>1 imhr-nin *i»y *"f **!* ■ r ™ *■ ; If"
ni 1h*m im Uprrjc mtjl Lrt*r m/^mwn Far
* ifkti. mnwot tfm ( frmw tvulu ft tan >*w h i
.T*i*i S'tJi** *
■ppartMi
hJHnAnd
SPEED AND EFFICIENCY
prwtiinin««ntr«aw^^dMillmfnnpn1(Hlv^il^Mri
I-Wuiplo* i fourth MM M Bnn laraugt h cn*nplH to *
rnrqiBrlinlrniwJ^rv|awhEh«viftniMlhiTq»fiHn*
tNTERNATTONALLV ACCEPTED
tptafaagiandlfPiiHii
J pnaiarr fca «Ahii d
li «lWX 1 «ra4 mavwt aOc wW fc H
DATA DICTIONARY fNDF.XINC'. TKCHNJQlJr
Ls'h Mi nttV haw trt at nvitM'tm) StUiptar rruirrbitan. * |i b«* rr*w*
lypn dncnMd f wk-k tru*t "haw i iwhuUiMr F-V^jwh t -^ aid"*
mn* hao.Mnu.^Tx war fca-maJ- #m. ngmtm.^ *a*rn*lMi doiiaii.
alriaarai It rhtTmia rmaat. Itu.tina.ii faffed Ho on* o**-. htw
u vyvwm
Quaryfec**
! S**. Lrl urttfcVLi JpFutfrarr*
a
1 VtiMat
INPUT DATA VAUfiATJON
Input d«hJ -mm br v-aUftsjd «i Am
ikHriUbtl , is*"
Facts
■ ■■■■
Features
RATA FILE STRUCTURf
: s P«fc*d .u«j Irrtfti mvonfc
Sculptor for 68020
OS-9 & UniFLEX
$995
ARITHMETIC OPERATORS
RQJiTTONAL OPERATORS
Ur^riwiiia.^V,
N ..i noai ■ ■
C'nnMinn-
SPEClAi, FEATURES
' ! Ful J*w *nthmrtr
QptflpsMi
! f<lf WTWhtY pi U M fl k I U '
tWi ,laflnpSalb*»lnai
MAKlMAANhMlMMA
Manamum record knglh Jb
Mftjumum tturd Itn^h .l/7h? h
Mafdrtim Mtk mft ramd WTh?
nrH*»Mipa»Hr Ibmfl
Ift
GhMlnla
□ AJmW9M0Kanddftfetk«M«
□ * > <ni|l| H^ — ■ lliMW X Wll
SCRE£W FORM U\CGU»G£
a
□
rVUuM n poijlvnm
fwq*'! rartdDnw
Sjn«M»Va« dtwkv of (TXa^a
sssac;
■ hkprdml of OTVfSM) ^TM
MUSTANG-020 Users - Ask For Your Special Discount!
* Tandy CoCo III Special - Reg. $595 * Special $389 *
* -•
•••
•
• •
•••
MUSTANG-020
$995 $199
$595
PC/XT/AT MSDOS
$595
$119
$595
OS/9 UniFLEX 6809
a a
to
AT&T3B1 UNIX
(>
tl
ti
IBM Compatibles
U (t
«(
SWTPC 68010 UniF
$1595
$319
$797
Tandy CoCo III
Special $389.00
SWTPC 68010 UNIX
$1990
$398
$995
... Sculptsr Will Run On Over 100 Other Types *f Machines
... Call fsr Pricing ...
!!! Please Specify Your Make of Computer and Operating System !!!
Full Ikvctupemrnt Package
Run lime (inly
• C Kty Flic Library
AoJbWItiL^iBli
O - ns t, $ ■ SK'DOS
r . flex, u . uunxx
CCi . Otar Csrfutir OS-»
CCT • Goto- o«n|«.Ur H.EX
South 'East Media
$900 Cassandra Smith %d - tflgon, Til 37343
Tticpfumt: (615)842 -4600 <Ttle>G 5KKCO6610
it 'rfcira 1
•• Shipping ••
M4 J* USA. («J«. BJt?
Portlrn Sialic* A4d I*
Fortlfn AVnuWI A44 1**
Or CCU>. Shlmnc <Mj
•(IS.1 k t T>id«ini> nf Mkrwin >■< Mnlnmh.'W.gX mti HiiH.[I .r. Tuejimrk. nf Tnhnlnl Symmi Qumjajn-'aK'DOS t» ■ Ti»4»— 1» of Ster-K Sulrwri Symm rjrp.
'68* Micro Journal
NovombBf "87
29
Telephone: (615) 842-4600 SOU tfl TrCtS t tMcdid
'TcUk; 5106O066M)
OS-9, tlni'JL'lX, 'JOEX, S'K'VOS
DISASSEMBLERS
SUPER SLEUTH from Compute* Systems Consultants Interactive
Disassemble!; extremely POWERFUL! Disk File Binary/ASCII
Examine/Changc. Absolute or FUI J. Disassembly. XREF
Generator. Label "Name Changer", and Files of "Sundaid Label
Names" for different Operating Systems.
Color Carpultr SS-50 Bus (all tW A L Source)
CCO (32K Read) Obj. Only S49DO
F, S, S99.00 . CCF. Obj. Only SS0.00 U. SIOOM
CCF. wlSourct S99.00 0. 1101.00
CCO. Obj. Only SSODO
OS9 68K Obj. SIOOM wtSource $20000
DY!S"AMITE+ - Excellent standard 'Batch Mode" Disassembler.
Includes XREF Generator and "Slendaid Label" File*. Special OS -9
options w/ OS-9 Version.
CCF . Obj. Only S100.00 CCO. Obj. S 59.95
F.S, m " SI00.00 ■ 0. object only S150O0
U. " ~ S300DO
PROGRAMMING LANGUAGES
PL/9 from Wuidrush Micro Systems — By Graham Trou. A combination
Editor Compiler Debugger. Direct source -to-object compilation
deliveiing fast, compact, re-entrant, ROM-able. PIC. 8 A 16-bit
Integers A 6-digit Real numbers for all real-world problems. Direct
control over ALL System resources, including interrupts.
Comprehensive libraty support; simple Midline Code interface,
step-by -step Usees for instant debugging. SOO* page Manual with
tutorial guide.
F, S. CCF ■ 119800
PASC from S.E. Media ■ A FLEX9. SK'DOS Compiler with a definite
Pascal "flavor". Anyone with a bit of Pascal experience should be
abk to begin using PASC to good effect in short order. The PASC
package comes complete with three sample programs: ED (a syntax
or structure editor), EDITOR (a simple, public domain, screen
editor) and CHESS (a simple chess program). The PASC package
come complete with source (whiten in PASC) and documentation.
FLEX. SK'DOS S9SM
WHIMSICAL from S.E. MEDIA Now supports Real Numbers
"Structured Programming" WITHOUT losing the Speed and
Contra! of Assembly Language) Single-pass Compiler features
unified, user-defined I/O, produces ROMable Code; Procedures and
Modules (including pre-*ompiled Modules); many "Types" up to 32
bit Integers, 6 digit Real Numbers, unlimited sized Arrays (vectors
only); Interrupt handling; long Variable Names; Vnitblc
Initialization: Include directive; Conditional compiling; direct Code
insertion; •onirol of the Stack Pointer etc. Run-lime subroutines
inserted as called during compilation. Normally produces 10% less
codt than PU9.
F.S and CCF SI 95. 00
KANSAS CITY BASIC from S.E. Media - Basic for Color Computer
OS-9 with many new commands and sub- functions added. A full
implementation of the IF-TIILN-ELSE logic is included, allowing
nesting to 255 levels. Strings are supported and a subset of the
usual suing functions sueh as LEF1V RIGHTS. MIDS. STRINGS,
etc ire included. Variables are dynamically allocated. Also
included arc additional features such as Peek and Poke. A must for
any Color Computer user running OS-9.
CoCo OS-9 S39 9S
C Compiler from Windrush Micro Systems by James McCosh. Full C
for FLEX, SK'DOS except bit-fields, including an Assembler.
Requires the ISC Rtloeating Assembler if user desiies to implement
his own Libraries.
F.S and CCF - S295.00
C Compiler from Introl - Full C except Doubles and Bit Fields,
streamlined for the 6809. Reliable Compiler: FAST, efficient Code.
More UNIX Compatible than mo«t_
FLEX, SK'DOS. CCF. OS-9 (Level II ONLY), U . SS75.00
PASCAL Compiler from Lucldata - ISO Based P Code Compiler.
Designed especially for Microcomputer Systems. Allows linkage to
Assembler Code for maximum flexibility.
F. S and CCF 5~ ■ S19000 F. S »"■ 005.00
PASCAL Compiler from OntegaSofl (now Certified Software) - For
the PROFESSIONAL: ISO Based, Native Code Compiler. Primarily
for Real-Time and Process Control applications. Powerful;
Hexible. Requires a "Motorola Compatible" Relo. Asmb. and
Linking Loader.
F. S and CCF - S425.00 -One Year Maw i 100. 00
OS-9 69000 Version . S9O0JOO
KBAS1C • from S.E. MEDIA - A "Native Code" BASIC Compiler
which is now Fully TSCXB ASIC compatible. Thecompilcr
compiles to Assembly Language Source Code. A NEW,
nrraml incd. Assembler is now included allowing the assembly of
LARGE Compiled K-BASIC Programs. Conditional assembly
reduces Run-lime package.
FLEX . SK'DOS. CCF, OS-9 Compiler /Assembler S99J00
CRUNCH COBOL from S.E. MEDIA - Supports large subset of ANSII
Level 1 COBOL with many of the useful Level 2 features. Full
FLEX, SK'DOS File Structures, including Random Files and the
ability to process Keyed Files. Segment and link laige programs at
runtime, or implemented as a set of overlays. The System requires
56K and CAN be run with a single Disk System. A very popular
product.
FLFX. SK'DOS, CCF ■ S99.9S
FORTH from Stearns Electronic! - A CoCo FORTH Programming
Language. Tailored to the CoCol Supplied on Tape, transferable to
disk. Written in FAST Ml- Many CoCo functions (Graphics,
Sound, etc.). Includes an Editor, Trace, etc. Provides CPU Carry
Flag accessibility. Fast Task Multiplexing, Clean Interrupt
Handling, etc for the "Pro". Excellent "Learning" tool)
Color Computer ONLY . IS* 95
AnUaailHSLttmai
O.OS.t, J. JX-DOS
r.nttii.tMrut
cca.rjur ci i a r oat
rrj.o*rim)uu.rui
•OS.* u • Tra annara eT M ten
South 'East Media
SXO CassanJm Smilk KA ■ 9Gsjon, T». 37S4S
•• Shipping ••
AM 1* UAA. I'mln. ItSt)
FoorttH SWtkca A 44 i%
Fantza Alrall tuln
or cojxs>(rrfc«oWj
» and Molcf b. *H H*nri I nIM VX tti Trai f marfcuf TwhHkalSymmi ConiUunn-'-iKTHis inTnSmaili af Star.K S*tt— n Syn«nii 1 5g p.
30
November '87
'66' Micro Journal
Telephone: (615) 842 -4600 SOU tfl TLOS t <Mt (flu
'Telex 5106006630
OS-9, •Uni'JL'EX, 'JL'EX, S'K'DOS
FORTH BUILDER is a stand-alone Urge! compiler (crosscompiler) for
producing custom Forth systems and application programs.
All of the 83-standaid defining words and control structures arc
recognized by FORTHBUILDER.
FORTHRUILDER is designed 10 behave as much as possible like
a resident Forth inteiptctcr/ccmpiler, so that most of the
established techniques for wr ting Foith code can be used without
change.
Like compilers for other languages, FORTHB UIIDER can operate
in "batch mode".
The compiler recognizes and emulates target names defined by
CONSTANT or VARIABLE and is readily extended with
"com pile-lime' definitions to emulate specific target words.
FORTH BUILDER if supplied as an executable command file
configured for a specific host system and target processor. Object
code produced fiorn the accompanying model source code is
royalty-free to licensed users.
F, CCF. S - $99.95
DATABASE ACCOUNTING
XDMS from Westchester Applied Business Systems
FOR 6809 FLEX-SK»DOS(5/8")
Up to 32 groups/fields per record! Up to 12 character filed name! Up to
1024 byte records! User defined screen and print control! Process
files! Form files! Conditional execution! Process chaining) Upward/
Downward file linking! File join ingl Random file virtual paging!
Built in utilhicsl Built in text line editor I Fully session oriented!
Enhanced foimsl Boldface, Double width. Italics and Underline
supported) Written in compact structured assemblerl Integrated for
FAST exccutionl
XDMS-IV Data Management System
XDMS-IV is a brand new approach to data management. It not only
permits users to describe, enter and retrieve data, but also to process
entire files producing customized reports, acrccn displays and file
output Processing can consist of any of a set of standard high level
functions including record and field selection, sorting and
aggregation, lookups in olher files, special processing of record
subsets, custom report formatting, totaling and subtoialing, and
presentation of up to three related files as a "database" oil user
defined output reports.
POWERFUL COMMANDSI
XDMS-IV combines the functionality of many popular DBMS software
systems with a new easy to use command set into a single integrated
package. We've included many new features and commands
including a set of general file utilities. The processing commands
are Inpul-Process-Ojtput (IPO) oricrue which allows almost instant
implementation of a process design.
SESSION ORIENTED!
XDMS-IV is session oriented. Enter "XDMS" and you are in instant
command of all the features. No more wailing for a command to
load in from diskl Many commands are immediate, such as
CREATE (file definition). UPDATE (file editor). PURGE and
DELETE (utilities). Others are process commands which arc used to
create a user process which is executed with a RUN command.
Either may be entered into a "process" file which is executed by an
EXECUTE statement Processes may execute other processes, or
themselves, either conditionally or unconditionally. Menus and
screen prompts are easily coded, and entire user applications can be
run without ever leaving XDMS-IV
ITS EASY TO USE!
XDMS-IV keeps data management simplel Rattier than design a complex
DBMS which hides Ihe true nature of the data, we kept XDMS-IV
file oriented. Ihe user view of data lelalionships U presented in
reports and screen output, while the actual data resides in easy to
maintain files. Tliis aspect peimits customized presentation and
reports without complex redefinition of the database files and
stiuctuie. XDMS-IV may be used fora wide range of applications
from simple rccoid management systems (addresses, invcnloiy ...)
to integrated database systems (order cntiy, accounting...)
Ihe possibilities are unlimited...
FOR 6809 FL£X.SK»DOS(5/8") $249.95
ASSEMBLERS
ASTRUK09 from S.E. Media - A "Structured Assembler for the 6809"
which requires the TSC Macro Assembler.
F.S. CCF- $99.95
Macro Assembler for TSC -- The FLEX. SK'DOS STANDARD
Assembler.
Sptciai- CCF $15.00; F.S $50 DO
OSM Extended 6809 Macro Assembler from Lloyd I/O. - Provides local
labels. Motorola S-records, and Intel Hex records: XREF.
Genebrate OS-9 Memory modules under FLEX, SK'DOS.
FLEX. SK'DOS, CCF. OS-9 199.00
Relocating Assembler/Linking Loader from ISC. - Use with many of
the C and Pascal Compilers.
F, S. CCF $150,00
MACE, by Graham Troll from Windnish Micro Systems - Co-Resident
Editor and Assembler, fast interactive A.L. Progiamming for small
to medium-sized Piogtams.
F, S, CCF ■ $75.00
XMACE ~ MACEw/Cross Assembler for 6800/1/2/3/8
F. S, CCF . $98.00
AtUUblltljUttnib
0.OS.«,S.5K.'DO5
K ■ FLEX, U ■ UnlFl-EX
CCS • Color Computer OS?
CCF . Color Core pour FtEX
South 'Last Mtdia
5900 CassandraSmiik %£. - OVvQim. Tn. 37343
•• Shipping ••
Add2«USA.( ln.Sl.sa)
forties Su/faci Add 5%
Forriin Alritall Add l»%
Or co.d. Snipping Only
*OS,» In Tra dnrnrfc of M krwi rr and Motorola- 'KL E X and tin IKLKX ar< Tradrmirki <if Tnhnkil Sytttma ComuHanu-»SK* DPI l« a Tradei™ rk of Sli r. K Snftwi ri S j* riri 1 1 1 .r p.
'68* Micro Journal
November 37
31
'Telephone: (615) S42 -46W SOU t/t TLCIS t 9^fedia
TdeK; 51Q60066SQ
OS-9, llm'JL-LX, >) L'LX, S'K'-DOS
UTILITIES
B«sir09 XRef from S.E. Media - This Rtiic09 Cross Reference Utility
is I Baiic09 Program which will produce a "pretty printed" listing
with each line numbered, followed by a complete cross referenced
lilting of all variablei, external procedures, and line nun ben called.
Also includes a Program list Utility which outputs a fast "pretty
printed" listing with line numbers. Requires Baiic09 or RunB.
A CCO obj. only - S39.9S; wl Source - $79.95
BTrec Routines • Complete set of routines to allow simple
implementation of keyed files -for your program - running under
Basic09. A real time saver and should be a pari of eveiy serious
programmers tool-box.
a\ CCO obj. only - JS9.93
Lucid*!* PASCAL UTILITIES (Requires Pascal ver 3)
XREF - produce a Cioss Reference Listing of any text; oriented to
Pascal Source.
INCLUDE - Include other Files in a Source Text, including Binary -
untimitad nesting.
PROFILER --provides an Indented, Numbered, "Structognm" of a
Pascal Source Text File; view the overall structure of large
programs, program integrity, etc. Supplied in Pascal Source Code,'
requires compilation.
F,S,CCF—EACH 5" . U0 DO. B~ ■ ISO DO
DUB from S.B. Media - A UnlFLEX BASIC dceaopller Re Create a
Source Listing from UniFLEX Compiled basic Programs. Woiks
wl ALL Versions of 6809 UniFLEX basic.
U. SI 19.95
LOW COST PROGRAM KIT'S from Southeast Media The following
kits are available for FLEX . SK'DOS on either S" or 8" Disk.
1. BASIC TOOL-CHEST $29.95
BU5TER.CMD: pretty painter
LDNEXREF.BAS: line cross-rcferenccr
REMPAC.BAS. SPCPACBAS. COMPAC.BAS:
remove superfluous code
STRIP.BAS: superfluous line-numbers (tripper
2. FLEX, SK'DOS UTILITIES KIT $39.99
CATS. CMD: alphabetically-sorted ditectoiy listing
CATD.CMD: dale-sorted directoiy listing
COPYSORT.CMD: Tile copy, alphabetically
COPYDATE CMD: file copy, by date-oider
FD.EDAT6.CMD: change Tile creation date
INFO.CMD (* INFOGMX.CMD): tells disk attributes icantoiu
RELINKCMD (A REUNK82): reoiders fragmcnicd free
chain
RESQ.CMD: undeletes (recovers) a deleud file
SECTORS.CMD-. show sector order in free chain
Xl-CMD: super leu liner
3. ASSEMBLERS/DISASSEMBLERS UTILITIES
$39.95
UNEFEED.CMD: 'modularise' disassembler output
MAT1I.CMD: decimal, hex, binaiy, octal conversions
& tables
SKIP.CMD: column stripper
4. WORD • PROCESSOR SUPPORT UTILITIES
$49.95
FULLSTOP.CMD: checks for capitalisation
BSTYCIT.BAS (.BAC): Stylo to dot-matrix printerr
NECPRINT.CMD: Stylo to dot-matrix printer filter code
5. UTILITIES FOR INDEXING $49.95
MENU.BAS: selects tequiied program from list below
INDEX. BAC: word index
PHRASES. BAC- phrase index
CONTENT.BAC: table of contents
DNDXSORT.B AC: fast alphabetic sort retain e
FORM AT ER. BAC: produces a 2-oolumn formatted index
APPEND.BAC: append any number of files
CHAR, BIN: line ruder
BASIC09 TOOLS consist of 21 subroutine* forBasictH.
6 were wtiuen in C language and the remainder in assembly.
AD the routines are compiled dawn to native machine code which
makes them fan and compact.
1. CFILL - Fills a string with duusaen
2. DPEEK - Double peek
3.DPOKE -Double poke
4. FPOS — Current file position
5. FSIZE - File sire
6. FrRIM -removes leading spaces from a suing
7. GETPR - returns the current process TO
8. GETOPT - gets 32 byte option section
9. GETUSR -- gets the user ID
1 0. GTIM E - gels the t ime
1 1. INSERT - insert a suing into another
12. LOWER -■converts a siring into lowercase
13. READY - Checks for available input
14. SETPRIOR - changes a process priorily
15. SETUSR - changes the user ID
1 6. SETOPT - set 32 byte option packet
17. STIME - sett the lime
18. SPACE - adds spaces, to a string
19. SWAP - swaps any two variables
2a SYSCALL - system call
21. UPPER - converts a suing to uppercase
For OS-9 - $44.95 - Includes Source Code
Sec Review in January 1987 issue of 68 Micro Journal
O . OS.1. f . 5K-UOI
r«ll.H,U>Uatll.EI
CC* . CMsr Onpiiur O* »
South "East Media
5900 Cassandra. Strath "XJ. - tfuyon. Til 37343
•• Shipping ••
Add 1» USA. unlo. U.K)
Forties SurfWM A<M S%
Fom*» AUnit Add to*
Or CO jy Shlpplsa Only
**W-S It ■ 1 1 »dr*n*rh nfMlcmn
«.nl MiJunli-'UKX in<li;TilH.g)IjriTriiifiimtiiirT«hrilnlSpKTnr<'eilllilHnU-'.Sr{*rw)SlnTridiii»rlirfSur.KS»rl»»r. S j * mi I 'ncp
32
November's?
'68' Micro Journal
TtUpfumt: (6i5) m -4601) South ILas t fMedia
( re(e\: 5106006630
OS-9, Uni'JL-EX, <} LLX, S'K'DOS
SOFTOOLS
The following piogmmi arc included in object form for immediate
application. PL/9 source code available for customization.
READ-ME Complete instructions for initial «et-up and operation. Can
even be printed out with the included text pronator.
CONFIG one lime lyitem configuration.
CHANGE change* wordi, character), etc. globally to any text type file.
CLEANTXT convert! tut lilet to standard FLEX, SK'DOS filer.
COMMON compare two text lilei and report* difference*.
COMPARE another check Tie that report* mis-matched lines.
CONCAT similar to FLEX, SK'DOS append but can also list file* to
screen.
DOCUMENT for PL/9 source file*. Very useful in examining parameter
passing aspects of procedures.
ECHO echo* to either screen or file.
FIND an improve fhtd commiiiid with "pattern" matching and wildcards.
Very useful.
HEX dumps Hie* in both hex and ASCII.
INCLUDE a file copy program that will accept "includes" of other disk
filet.
KWIC allows routing each word, on each line to the beginning. Very
useful in a son program, etc.
LISTDIR a dintcUDry listing program. Not super, but better than CAT.
MEMSORT a high-spaed text file toner. Up to 10 fields may be tonad.
Very fid. Very useful
MULT1COL width of page, number of columns may be specified. A
musti
PAGE similar to LIST but allow* for a page header, page widlh and
depth. Adjust for CRT screen or printer a* set up by CONFIG. A
very tman print diiver. Allows printer control commands.
REMOVEa fan file deleter. Careful, no prompts issued. Zap, and its
gonel
SCREEN a screen listing utility. Word wraps text to lit screen. S u e ci i
depth may be alteied at run lime.
SORT a super version of MEMSORT. AscendingMcscending order, up
to 10 keys, case over-r de, son on nlh word and ton on characters if
lile is small enough, torts in RAM. If large file, son is constrained
to size of your largest disk capacity.
TPROC a small but nice text fonnatler. This is a complete formatter and
has functions not found in other formatters.
TRANSL1T sons a Tile by x keyficlds. Checks for duplications. Up to
10 key files may be used.
UNROTATE used with KWIC this program reads an input file and
unfolds it a line at a time. If the file has been sorted each woid will
be pretenlad in sequence.
WC a word count utility. Can count words, characters or lines.
NOTE: this set at utilities consists of 6 5-1/4" disks or 2 8" disks, w/
source (PL9). 3 5-1/4" disks or 1 8" disk w/o source.
Complete Ml SPECIAL INTRO PRICE:
5-1/4- w/source FLEX -SK'DOS -5129.95
w/o source - $79.95
8" w/source -S79.9S - w/b source $49.95
ITJLL SCREEN FORMS DISPLAY from Computer Systems
Coruulunt* -• ISC Extended BASIC program supports any Serial
Terminal with Cursor Control or Memory-Mapped Video Displays;
substantially extends the capabilities of the Program Designer by
providing a lable-driven method of describing and using Full Screen
Displays.
F. S and CCF. V S25 DO. wt Source - S50.00
SOLVE from S.E. Media - OS-9 Levels I and II only. A Symbolic
Object/Logic Verification & Examine debugger. Including inline
debugging, disassemble and assemble. SOLVE IS THE MOST
COMPLETE DEBUGGER we have seen for the £809 OS-9 series)
SOLVE does it alll Willi a rich selection of monitor, assembler,
disassembler, environmental, execution and other miscellaneous
commands, SOLVE it the MOST POWERFUL tool-kit item you
can own! Yet, SOLVE is simple to utel With complete
documentation, a snap! Eveiyone who has ordered litis package has
raved! See review - 68 Micro Journal - December 1985. No blind'
debugging here, full screen displays, rich and complete in
information presented. Since review in 68 Micro Journal, this is our
fastest moverl
levels I All only OS-9 S69.9S
DISK UTILITIES
OS-9 VDisk from S.E. Media - For Level I only. Use the Extended
Memory capability of your SWTPC or Gimix CPU card (or similar
formal DAT) for FAST Program Compiles, CMD execution, high
spaed inter-process communications (without pipe buffers), etc •
SAVE thai System Memory. Virtual Disk rise is variable in 4K
incrcOmcnts up to 960K. Some Assembly Required.
Uvell OS-9 obj. S79 95; wi Source S149.95
O-F from S.E. Media - Wr lien in BASIC09 (with Source), includes:
REFORMAT, a BASICD9 Program that reformats a chosen amount
of an OS-9 disk to FLEX. SK'DOS Format so it can be used
normally by FLEX, SK'DOS: and FLEX, a BASIC09 Program that
does Ihe actual read or write function to the special O-F Transfer
Disk: user-friendly menu driven. Read tlie FLEX, SK'DOS
Directory, Delete FLEX. SK'DOS Files, Copy both directions, etc.
FLEX, SK'DOS users use Ihe specitl disk just like any other FLEX,
SK'DOS disk
0- 6809/68000 T>9.9i
LSORT from S.E. Media - A SORT/MERGE package for OS-9 (Level I
& II only). Sons records with fixed lengths or variable lengths.
Allows for either ascending or descending son. Soiling can be done
in cither ASCII sequence or alternate collating sequence. Right, left
or no justification of data field* available. 1.SO RT includes a full
set of comments and errors messages.
OS-9 S8S00
A nib blllt? Liftaai
O • Of.*, S . SK.-DOJ
F.f\xx.u<vi>rnxi
CCtj . CMor ( oniuUr 0*-»
txy • CMot Castpalar rut*
South "Last Media
$900 Cassandra Smith IrU - M*on, In. 37343
" Ship
Kit 2% U£A.<mtn. tX.S*>
ronlfa au/Taca KM 5*
Fmlo <UmD Ate !«%
Or OO.D. ShlpplM Oatr
«Oa-»haTraaaMar*«fMttro»artiri<< M morel.. -H .EX »inl tWMX sri Trtarmirln jf TWhrikilSyUmi |-j»n»H»nn.'£H,«IMW luTrnUma^aTSUr-K Sofnurt SmraiiOrp,
'68' Micro Journal
November o7
33
Telephone: (6l5)S42-46O0 Sotitfl ILOSt fMedia
Telac: 5106006630
OS 9, Vni'JL'EX, 'JL'LX, S'K*1>0S
HIER from S.E. Media - IIIER is a modern hierarcnal storage system for
users under FLEX., SK'DOS. It answer* Ihe need* of those who
have hard disk capabilities on their systems, or many files on one
disk -any size. Using HIER a regular (anj) FLEX, SK'DOS
disk (8 • 5 • bard disk) can have sub directories. By ibis method
ihe problems of assigning unique names to files is less burdensome.
Different files with the exact same name may be on ihe same disk,
as long as ihey are in differmi directories. For ihe wincheae r user
this becomes a muii. Sub-directories are the modem day solution
that all current large systems use. Each directory looks to FLEX,
SK'DOS like a regular file, except they have the extension
'.DIR 1 . A full set of directory handling programs are included,
malting the operation of fflER simple and straightforward A
special install package is included to install IIIER to your particular
version of FLEX, SK'DOS. Sane assembly required. Instill
indicates each byte or reference change fleaded- Typically - 6 byte
changes in source (furnished) and one assembly of HIER is all that
is required. No programming required!
FLEX - SK'DOS 179.95
COPYMULT from S.E. Media - Copy LARGE Disks to several
smaller disks. FLEX, SK'DOS utilities allow ihe backup of ANY
size disk 10 any SMALLER size diskettes (Hard Disk to floppies, 8"
lo 5", etc) by simply inserting diskettes as icquesiad by
COPYMULT. No fooling with directory deletions, etc.
COPYMULT.CMD understands normal "copy* syntax and keeps up
with files copied by maintaining directories for both host and
receiving disk system. Also includes BACKUP.CMD lo download
any size "random" type file; RESTORE.CMD lo restructure copied
"random" files for copying, or recopying back to the host system;
and FRGEUNK.CMD as a "bonus" utility that "relinks" the free
chain of floppy or hard disk, eliminating fragmentation.
Completely documented Assembly Language Source files included.
AIL 4 Programs (FLEX. SK'DOS. <" or 5 ") S99.S0
COPYCAT from Lucidaia - Postal NOT required. Allows reading
TSC Mmi-FLEX. SK'DOS, SSB DOS68. and Digital Research CP/
M Disks white operating under SK'DOS , FLEXl.O. FLEX 2.O. or
FLEX 9.0 with 6800 or 6809 Systems. COPYCAT will no
perform miracles, but, between the program and the manual, yon
(land a good chance of accomplishing a transfer. Also includes
some Utilities lo help out. Programs supplied in Modular Sou roe
Code (Assembly Language) lo help solve unusual problems.
F, SandCCFf-lSODO F.S 8 m -S6SM
VIRTUAL TERMINAL from S.E. Media - Allows one terminal lo do
Ihe work of several. Hie user may start as many as eight task on one
terminal, under VIR1UAL TERMINAL and switch back and forth
between task al will. No need lo exit each one; just jump back and
forth. Complete with configuration program. Ihe best way lo keep
up with those background programs.
O&CCO -obi. only- S49.95
FLEX, SK'DOS DISK UTILITIES from Computer Systems
Consultants -- Eight (8) different Assembly language (w/ Source
Code) FLEX, SK'DOS Utilities for every FLEX. SK'DOS Users
Toolbox: Copy a File with CRC Errors; Test Disk for errors:
Compare two Disks; a fast Disk Backup Program; Edit Disk
Sectors; Linearize Free Chain on the Disk; piini Disk Identification:
and Son and Replace Ihe Disk Directory On sotted order). - PLUS
— Ten XBASIC Programs including: A BASIC Resequencer with
EXIRAs over "RENUM" like check for missing label definitions,
processes Disk to Disk instead of in Memory, etc. Other programs
Compare, Merge, or Generate Updates between two BASIC
Programs, check I1ASIC Sequence Numbers, compare two
iai sequenced files, and S Programs for establishing a Master
Directory of several Disks, and sorting, selecting, updating, and
printing paginated listings of these files. A BASIC Cross-Reference
Piogratn. written in Assembly Language, which provides an X-Ref
Listing of the Variables and Reserved Words in TSC BASIC,
XBASIC, and PRECOMPILER BASIC Programs.
AIL Utilities inelude Sourcei (either BASIC or AL. Source Code).
F.SandCCF S50.00
BASIC Utilities ONLY for UniFLEX - S30D0
COMMUNICATIONS
CMODEM Telecommunications Program from Computer Systems
Consultants. Inc. — Menu-Driven; suppoils DumbTerm na] Moile,
Upload and Download in non-protocol mode, and the CP/M
"Modem7" Chiistensen protocol mode to enable communication
capabilities for atmost any requirement. Written in "C".
FLEX, SK'DOS. CCF. OS-9, UniFLEX, 69000 A 68Mh
Source S 100. 00 - without Source ISO 00
X-TALK from S.E. Media ■ X-TALK consists of Iwo disks and a special
cable, the hookup enables a 6809 SWfTC computer to dump
UruFLEX files directly to the UniFLEX MUSTANG-020. This is
the ONLY currently available method to transfer SWTPC 6809
UniFLEX riles lo a 68000 UniFIJEX system. Gimix 6809 users
may dump a 6809 UniFLEX fde lo a 6809 UniFLEX five inch disk
and it is readable by the MUSTANG-020. The cable is specially
prepared with internal connections to match the non-standard
SWIPC SO/9 I/O Db25 CCTtnecvon. A special SWITC S+ cable set
is also available. Users should specify which SWITC system he/
she wishes to communicate with the MUSTANG-020. The X-
TALK software is furnished on two disks. One eight inch disk
contains S.E. Media modem program C-MODEM (6809) and the
other disk is a MUSTANG-020 five inch disk with C-MODEM
(68020)- Teal and binary files may be directly trarufeiied between
ihe two systems. The C-MODEM piograms are unaltered and
perform as excellent modem programs also. X-TALK can be
purchased with or without the special cables, but this special price is
available to registered MUSTANG-020 users only.
X-TALK Complete (eable. 2 disks) S99.9S
X-TALK Software (2 disks only) S69.95
X-TALK with CMODEM Source S 149.95
AnStaMUrrt
■ OS*, J • SI-DOS
r • tltx. u . imnrt
CCS . Ckhr CaailMUr OS-S-
CO' • Otm Favato FLEX
•OS-* h a Tntanark of Mkimn
South 'Last 'Media
5900 Cassandm Smith :*;£ ■ yfugon, Tn. 3 7343
" Shipping "
A44 3« UiA-imln. sz.se)
Fonts* s*/taa A«a 5*
Fwitta Airmail AM l»*
OrCO.tXSWBflniO.irr
■ ml MM«»U. 1 WTtm< t:nll^EX«KTr«aViMrti^T»hiar.lSpt t iiiir«iiuli.nii.»SK«noShiiTraa»MfarfStir.KSon»»ri SjntnuCa;.
34
November '87
'66' Micro Journal
Telephone; (615) 842-4600 SoUtH TrOS t Media
Telex; 5106006630
OS 9, 'Uni'JC'LX, 'TL'LX, S'K*'DOS
XDATA from S.E. Madia - A COMMUNICATION P»ck»ge for (he
UniFLEX Operating Syncm. Uie with CP/M, Main Fnmct, other
UniFl.EX Systems, etc. Verifies Truiminion uiing checksum or
CRC; Re-Transmils bid blocks, etc
U ■ 1299.99
EDITORS & WORD PROCESSING
JUST from S.Ii. Medu -• Text Form liter developed by Ron Anderson;
for Dm Matrix Printers, provides many unique features. Output
"Formatted" Text to the Display. Use the FPRtNT.CMD supplied
for producing multiple copies of the "Formatted" Text on the Printer
INCLUDING IMBEDDED PRINTER COMMANDS (very useful
ai other limes also, and worth the price of the program by itself).
"User Configurable" for adapting to other Printers (comes let up for
Epson MX-80with Graft/ax); up to ten (10) imbedded "Printer
CoruroJ Commands". Compensates for a "Double Widlh" printed
line. Includes the normal line width, margin, indent, paragraph,
space, vertical skip lines, page length, page numbering, centering,
fill, justification, etc. Use with PAT or any other editor.
* Now supplied as a two disk set:
DirJk 01: JUS12.CMD object fde.
JUS17TXT PL9 source FLEX. SK'DOS - CC
Disk 02: JVSTSC object and source in C:
FLEX, SK'DOS - OS9 ■ CC
The JTSC and legular JUSTC source are two separate programs. JTSC
compiles to a version that expects TSC Word Processor type
commands, ( pp tp .ce etc.) Great for your older text files. The C
source compiles to a standard syntax JUST.CMD object lile. Using
JUST syntax (,p ,u .y etc.) With all JUST functions plus several
additional printer formatting functions. Reference the JUS'ISC C
source. For those wanting an excellent BUDGET PRICED word
processor, with feature none of the others have, litis is ill
Disk(l).PL9 FLEX only-F.S A CCF - 149.95
Disk Set (2)F.SA CCF A OS9 (C version, ■ 169.95
OS-9 6SK000 complete with Source - 179.95
PAT from S.E. Madia - A full feature screen oriented TEXT EDITOR
with all the best of "PIE™". For those who swore by and loved only
PIE, ihis is for you! All PIE features and much more! Too many
features to list. And if you don't like these, change or add your own.
PI. -9 source furnished. "C" source available soon. Easily
conliguicd to your CRT, with special con fig section.
Regular FLEX. SK'DOS 1129.50
• SPECIAL INTRODUCTION OFFER • 179.95
SPECIAL PAT/JUST COMBO (^source)
FLEX. SK*DOS 199.95
OS-9 68K Version 1229.00
SPECIAL PATIJUST COMBO 68K 124900
Note: JUST in *C" source available for OS-9
CEDRIC from S.E. Madia A screen oriented TEXT EDITOR with
availability of 'MENU' aid. Macro definitions, configurable
'permanent definable MACROS' - all standard features and the
fastest 'global' functions in the west. A simple, automatic terminal
eonfig program makes this a neal 'no hassel' pioduct. Only 6K in
size, leaving the average system over 165 aeoon for text buffer -
appx. 14,000 plus of fnx mcmoiyl Extra fine for programming as
well as text.
FLEX. SK'DOS 169.95
BAS EDIT from S.E. Medu - A TSC BASIC or XBASIC screen editor.
Appended to BASIC or XBASIC, BAS-EDIT u transparent to
normal BAS1C/XBAS1C operation. Allows editing while in
BAS1C/XBASIC, Support i the following functions: OVERLAY.
INSERT and DUP LINE. Make editing BASIC/XBASIC programs
SIMPLE) A GREAT time and effort saver. Programmers love ill
NO more retyping entires lines, etc. Complete with over 23
different CRT terminal configuration overlays.
FLEX. CCF, SK'DOS 139.95
SCREDITOR 111 from Windiush Micro Systems - Powetful Screen-
Oriented liditorrWord Processor. Almost SO different commands;
over 300 pages of Documentation wiih Tutorial. Features Multi-
Column display and editing, "decimal align" columns (AND add
them up automatically), multiple keystroke macros, even/odd page
headers and foolers, imhedded piinler control codes, all
justifications, help" support, (Tore common command series on
disk, etc. Use supplied "set-ups", or remap the keyboard lo your
needs. Except for propoitionil piinling, this package will DO IT
A1XI
6800 or 6809 FLEX. SK'DOS or SSB DOS, OS-9 . 1175.00
SPELLI) "Computer Dictionaiy" from S.E. Medu - OVER 150,000
words! look up a word from within your Editor or Word Processor
(with the SPIICMD Utility which operates in the FLEX. SK'DOS
UCS). Or check and update the Text after entry; ADD WORDS to
the Dictionaiy, "Flag" questionable words in the Text. "View a word
in context" before changing or ignoring, etc. SPELI J3 first checks a
"Common Word Dictionaiy", then the ooimal Dictionaiy, then a
"Personal Word List", and fmally, any "Special Word List" you may
have specified. SPEI.LB alto allows the use of Small Disk Storage
systems.
F. S and CCF - 1129.95
STVLO-CRAPH from Great Plains Computer Co. - A full-screen
oriented WORD PROCESSOR •• (uses the 51 x 24 Display Screens
on CoCo FLEX/SK'DOS, or PBJ Wordpak). Full screen display
and ediiing; supporu the Daisy Wheel proportional printers.
NEW PRICES 6809 CCF and CCO - 199.95.
F.Sor - 1179.95. U ■ 1299.95
AnlUMUl; Liput*
O.os »,S.SK*DOJ
F.FLET.U. ltaffV£X
cca . Crter aa»»«/u» oS-»
CCF. CtWCapaur nxx
South "East Media
S900 Cassandra Smith %j/L - JrVLa/cn, Tn. S7US
" Shipping ••
AU 1% USA. fada. SJJtl
F—HfoGu/taa <M4S«
Tonic, AlramB AM Ittk
Or CX>JX SMrffcta Out?
■OS-tltaTndfttwrk nit Mkrowftrt and M 'H "f«l*- *KI l!X *r»d UhtFl.EX »r» Tr»4rmarkf nT Ttrfc nk* t
SymtrM r>imilUnl».'£K*POS la ■ Trtitmrnrk of Slar-K faltmrt Srntnw Cory.
66" Micro Journal
November '87
35
'Telephone: (6i5) $42 -4600 Sou th 'Eos t 'Media
'Telex 5106006630
OS-9, llni'JL'EX, <}ULX, S'K'VOS
STYLO.SPE1X from Creal Phi > Compiler Co. - Fist Computer
Didjanary. Compfcmcnii Stylogiaph.
NEW PRICES 6809 CCF and CCO ■ $69.95.
F.SorO- S99.9S. U • $149.95
STYLO-MERGE from Greii Plains Compjur Co. - Merge Mailing
Liu to "Form" Letter!, Piint multiple Files, etc., through Stylo.
NEW PRICES 6809 CCF and CCO - $59.95.
F. S or 0V9 95. U .$129.95
SIYLO-PAK — Graph + Spell + Merge Package DealMI
F.SorO. $329.95. U ■ $549.95
0, 68000 $695.00
MISCELLANEOUS
TABULA RASA SPREADSHEET from Computer System!
Cotisulta u - TABULA RASA is similar lo DESKTOP/PIAN;
provides use of tabular compulation schemes used for analysis of
business, sales, and economic conditions. Menu-driven: ext s'rvc
report-gene ration capabilities. Requires TSCs Extended BASIC.
F. S and CCF. U $5000. hV Source ■ $100 DO
DYNACALC Electronic Spread Shees for the 6809 and 68000.
F. S. 0S9 and SPECIAL CCF ■ $200 DO, U - $395.00
0S.9 68K - $59500
FULL SCREEN INVENTORY/MRP from Computer Systems
Consults u - Use the Full Screen I vcnlory Syosn/Male rials
Requirement Planning for maintaining inventoriei. Keeps item field
file in alphabetical order for easier inquiry. Locale and/or print
records matching partial or complete iicm, description, vendor, or
attributes: find baekorder or below stock levels. Prini-ouu in item
or vendor order. MRP capability for the maintenance and analysis
of Hierarchical assemblies of items in the inventory file. Requires
ISCs Extended BASIC.
F. S and CCF. U ■ $50 DO. hV Source - $10000
HILL SCREEN MAILING LIST from Computer Systems Consultants
- The Full Screen Mailing List System provides a means of
maintaining simple mailing lists. Locate all records matching on
paiiial or complete name, city, slate, zip, or attributes for Listings or
Labels, etc. Requires ISCs Extended BASIC.
F . S and CCF, U ■ $50D0. w/ Source ■ $100 DO
DIEr-TRAC Forecaster from S.E. Media - An XBASIC program I al
plans a diet in terms of either calories and percentage of
carbohydrates, piolebis and fats (C P G%) or grams of
Carbohydrate. Protein and Fat food exchanges of each of the six
bask food groups (vegetable, brad, meat, skim milk, fruit and fat)
for a specific individual. Sex, Age, Height, Promt Weight, Frame
Siae, Activity Level and Basal Metabolic Rase for normal individual
are taken into account. Ideal weight and sustaining caloric* for any
weight of the above individual are calculated. PtvriJes number of
days and daily calendar after weight goal and caloric plan is
determined.
F.S $59.95. U. $89.95
CROSS ASSEMBLERS
TRUE CROSS ASSEMBLERS from Computer Systems Consultants -
Supports 1802/5. Z-80. 6800/1/2/3/8/1 1/HC1 1.6804, 680S/IIC05/
146805. 6809/00AM . 5502 family. 8080/5. 8020/1/2/3 5/C35/39/40/
48/C48/49/C49/50/8748/49, 8031/5 1 /875 1 . and 68000 Systems.
Assembler and Listing fonnais same as target CPU's formal.
Produces machine independent Motorola S-TeXL
68000 or 6809. FLEX. SK'DOS. CCF. 0S.9, UniFLEX
any object or source each - $50.00
any J object or source each - $100 DO
Stt of ALL object $200 DO ■ wfsowce $500 DO
XASM Crass Assemblers for FLEX. SK'DOS from S.E. MEDIA -
This set of 6800/1/2/3/5/8. 6301, 6502, B080/5. and Z80 Cross
Assemblers uses the familiar TSC Macro Assembler Command Line
and Source Code format. Assembler options, etc.. in providing code
for the target CPU's.
Complete set, FLEX, SK'DOS only . $150D0
CRASMB from LIOYD LO - Supporu Motorola's. Intel's. Zilog's. and
other's CPU syntax for these 8-Bit microprocessors: 6800.6801,
6303. 6804. 6805.6809.681 1 (all varieties): 6502, 1 802/5, 8048
family. 8051 family. 8080/85 . Z8. Z80, and TMS-7O00 family.
Has MACROS . Local Labels, Label X-REF. Label Length to 30
Oars. Object code formats: Motorola S-RacDrds (text), Intel HEX-
Records (text). OS9 (binary), and F1£X. SK'DOS (binary).
Written in Assembler ... eg. Very FuL
CPU TYPE - Price each:
For: MOTOROLA
FLEX9 $150
SK'DOS $150
OS9/6809 $150
OS9A58K
CRASMB 16.32 from LLOYD I/O
INTEL
$150
$150
$150
OTHER COMPLETE SEr
$150 $399
$150 $399
$150 $399
$432
• Supports Motorola's 68000, and
has same features as the 8 bit version. OS9/68K Object code
Formal allows t is cross assembler lo be used in developing your
programs for OS9/68K on your OS9/6809 computer.
FLEX, SK'DOS, CCF. OS-9/6809 $249.00
GAMES
RAPIER - 6809 Chess Program from S.E. Media - Requites FLEX,
SK'DOS and Displays on A y Type Terminal. Features: Four
levels of play. Swap side. Point scoring system. Two display
boards. Change skill level. Solve Checkmate proMemi bt 1-2-3-4
moves. Make move and swap sides. Play w iie or Mack. This Is
one of tltt strongest CHESS programs running on any
microcomputer, estimated USCF Rating 1600* (belter than mast
'club' players al higher levels)
F.S and CCF . $79. 95
A»Mibllll*!t"<<li
O. a*-*, f. SK'DOS
r.nxx,rj.uatnxi
CCS.CMot C— pulit OS »
CCF . C*to» Gmmkm STIX
South 'Last 'Media
5900 Cassandra Smith 9jL ■ Xxkjor, Tn. ) ?}4)
" Shipping ••
Add 1% US.A. (lain. RJH
<Wtt» fca-*m AddS*
rimies AtrmR A<M 10%
Or CO.D. Sblpftloc Onlj
■OS-tlnTf drm*Pli nf tittwwn and M..t«.f<,b nt.EX inri I iff SKI. KX »r« Tr ■ d*m*r k < M I rchnlf tl Sj«U:™t:QimilUnilj.*SK*t>QS li nTndHMrlnfSlaf.lt Minfl SyHwi) Car I*.
36
November 87
68' Micro Journal
1
3
c
■
B
V ft. I
a 3 s
fl o o
■t. : > • .:
I
i
U In ho u U j< .
iq liio 3c jtn p o «j u"i p o u m 3o*j^ p o ±j *r ^ q ?}
I m 6, * e » EL* B* a* fi# E.^ c * EL* c * {L« o^ £
llllllllllJtllllllllilltllll
3
8 til
ri « N
5 *; .5
X 1
>-i a >
m u «
E » Ji
8 >g
ill
*• 9--
41 0.TI
£ 41 c
1 1 t
^ 4.J M
O E £
h e < 2 h £
^ 4 r- A] O U
<A n v> *] </> ft
" i. « 1. « !:.
3 8 j5 3 JS
u -g
-out
ill
I I
QODDriHHHHi-tHftNft(M««NfVi f lP)(»l(nn
wrstvrjrsirsicNrsjcNrsicNrsjrsirsjrsiiNfNcSirvr^csifNfsifs
■SSB
H <*» <*■
3 fM <si
O o o
fe°S
h * p< m ti* h
vo tu r- tu □ ti-
a O
u
a
H iO H (M T O
< fM < CN M «N
< Q
CM cn
o o
o
CM
O
m io r^ en pQ a
m m *n ifl in m
<\l fM <M CM *M CM
O O O O O O
n i*j <
HO(3
fa r-t »
irt v v
o o o
K
g
0>
■
T3
*
4'
B
4
i
nj
01
SS
«g H
£
G
>
H ft. ■
4?
«l J<
>.
-^
i. c
1
1>
U tl
ji
— <
>1 —
£
JS b«
4J
^3g
*H
E
3
1
S
^£S
< -h |0 ^h c cbI n *fJ « 13 « TJ
< — CQ jC ^ O CD « M *a >; 4 J£ ^
ilililiijiilj
8 I
6
1
*^HfMiHfn )+ w htn u
(flr^ u it o co hm Uff mw u cn l < u^ Mvun
*j**i ? a ifv poti^' 3oj4*t do*jT 3 o +> *r
ritn-Um art G«» g« 0v> 3«» fii* aifl- Qw 3«
■o * c — EL* c » 5.* c * a* c » EL* c*a*
ifjaxhitiniinAlufi
3 3
ST ifl o Q CO
S 1 ^ fH^-*Hr^i^vcfkOmo«HO
5 co cpcflOJcocoSJcQfJUUOU
ooooooocjoooooo
^- m f^*
r* r- j>
m o o o
t-* iH H i-t
o o o
S8S3
p-H 1— I i-H r-*
o o o o
"w ^r t v ^*
(*lf lO^-i^iWlTliiT'i-tCfi 1/1 ffi r-l Cfli/1 < ^H f- mtfHQ
rHflOOCJ^OOOTOOOtPCaOOTOOOT
\Di-l UHDUHUJUiyHKHii U h v m U H W I] H
Ca<fN<U^CM<0<^i<O<CMi*O*<CM<D<
oooooooooooooooooooooo
68' Micro Journal
November 'ST
37
8
0266 D6 02EF
026B 03 10 E2
026E Al 41
0270 25 DE
0212 Al 5A
0274 22 DA
0276 AA 20
0278 20 06
027A 04 10 0D
testis
Ida
■hlftt,x
brclr
l.kstate.msend
CSfM
• 541
blo
msend
"F*
#S5A
bhi
msend
ora
IS20
bra
msend
send it if caps on
* NUMBER LOCK. ON.
numlkl brset 2,kstate ( nunctr
027D 00 10 05
brset
0, kstate, numshi
0260 D6 03AF
Ida
nv»nor,K
0263 20 Cfl
bra
mtetpp
now go check for caps Ik
USE TABLE NUHBER TABLE NUM SHIFT
0265 06 040F
0266 20 El
026A D6 046F
026D 20 CI
numshi Ida
bra
numstb, x
test Is
* USE TABLE CONTROL TABLE NUM SHIFT
numct r Ida
bra
numrol, x
msend
* LOOK-UP TABLES
3
05
028F 00
0290 ia
0294 34
0296 36
029C 3D
029E FF
02A2 72
02A6 69
02AA 50
02AC FF
02B0 66
02B4 SB
02B8 60
02B9 FF
02BD 63
02C1 GD
02C5 FF
02C7 FF
02CB 62
1
02CF 66
02D3 BA
02D7 01
02DB 35
02OF 02
1
02E3 FF
02E7 FF
3
02EB IF
31 32 33
35 36 37
39 30 2D
06
71 77 65
74 79 75
6F 70 5B
00
61 73 64
67 66 6A
€C 3B 27
SC 7A 78
76 62 6E
2C 2E 2F
2A
20 FF 61
63 64 65
67 66 69
FF DB 10
0E 2D 04
09 2B 03
OF 19 IA
FF FF FF
FT FF FF
FT FF FF
• NORMAL »CD£
normal FCB
FCC
(LOWER CASE)
SIB, ■1234567690-—, $08
FCC $FT, ■qweityuioptl*. SOD
FCC SFF, - asdfghjkl;",S6D
FCC SFF,"\zxcvbnm. ./«. SFF,"«"
FCB SFF, S20, SFF, $61. $62, $83, $64, $65
FCB $66, $67, $66, $69, S8A.SFF, $DB, $10
FCB $01, $0E, $2D, $04, $35, $09, $2B, $03
FCB $02, $0F, $19, S1A, SFF, SFF, SFF, SFF
FCB SFF. SFF, SFF, SFF, SFF, $FF, SFF, SFF
* SHIFT
MODE
(UPPER CASE)
02EF 00
shiftt
FCB
02F0 IB
21
40
23
FCC
SlB,-!MS»-t*()_+-,S06
02F4 24
25
5E
26
02F8 2A
26
29
SF
02FC 2B
06
OSY FF
51
57
45
FCC
SFF, ■WERTTUIOP ( ) -, SOD
0302 52
54
59
55
0306 49
4F
50
7B
030A 7D
0D
030C FF
41
53
44
FCC
SFF, "ASDFGHJKL:"-'
0310 46
47
46
4A
0314 4B
4C
3A
22
0316 7E
0319 FF
7C
5A
56
FCC
StF, S7C. ■ZXCVBNMO?-, SFF, SOE
031D 43
56
42
4E
0321 4D
3C
3E
3F
0325 FF
DE
0327 FF
20
FF
SB
FCB
SFF. $20, SFF, S8B. S8C, $6D, $6E. $8F
032B ec
6D
BE
6F
032F 90
91
92
93
FCB
$90, S91, $92, $93, $94, SFF, SDC
0333 94
FF
DC
0336 37
36
39
2D
FCC
■789-456*1230 . V SFF, SFF, SFF, SFF
033A 34
35
36
2B
033E 31
32
33
30
0342 2E
FF
FF
FF
0346 FF
0347 FF
FF
FF
FF
FCB
SFF, SFF, SFF, SFF, SFF, SFF, SFF, SFF
034B FF
FT
FF
FF
* CONTROL M3DE
034F 00
cootrl
FCB
0350 IB
FF
00
FF
FCB
SIB, SFF, S00, SFF, SET, SFF, S1E, SFF
0354 FF
FF
IE
FF
0356 FF
FF
FF
IF
FCB
SFF, SFF, SFF, S1F, SIT, S7F, SFF, Sll
035C FF
7F
FF
11
0360 17
OS
12
14
PCB
S17,S05,S12,S14,S19,S15,$09,S0F
0364 19
15
09
OF
0366 10
IB
ID
0A
FCB
$10, SIB, SID, $0A, SFF, S01, $13, $04
036C FF
01
13
04
0370 06
07
06
0A
FCB
$06, $07, $06, $0A, SOB, SOC, SFF, SFF
0374 0B
OC
FF
FF
0376 FF
FF
1C
IA
FCB
SFF. SFF, SIC, S3 A, $18, $03, $16, $02
037C 16
03
16
02
0360 0E
0D
FF
FF
FCB
SOE, SOD, SFF, SFF, SFF, SFF, SDF, SFF
0364 FF
FF
DF
FF
0366 20
FF
95
96
FCB
520, SFF, S95, $96, S97, $96, S99, $9A
038C 97
96
99
9A
0390 9B
9C
9D
9E
FCB
S9B, $9C, S9D, S9E, SFF, SDD, SOC, SFF
0394 FF
DO
OC
FF
0396 FF
FF
FF
FF
FCB
SFF, SFF, SFF, SFF, SFF, SFF, $06, SFF
039C FF
FF
06
FF
03A0 16
FF
FF
FF
FCB
$16, SFF, SFF, SFF, SFF, SFF, SFF, SFF
03A4 FF
FF
FF
FF
03A6 FF
FF
FF
FF
FCB
SFF, SFF, SFF, SFF, SFF, SFF, SFF
03AC FT FF FF
s
2
03AF
00
numrtor
FCB
<T
03B0
IB
31
32
33
FCC
5
03B4
34
35
36
37
3
03BB
3B
39
30
2D
03BC
3D
06
a_
03BE
FF
71
77
65
FCC
03C2
72
74
79
75
03C6
69
6F
70
5B
03CA
5D
0D
03CC
ET
61
73
64
FCC
03D0
66
67
66
6A
03D4
EB
6C
3B
27
03DB
60
03D9
FF
SC
7A
76
FCC
03DD
63
76
62
6E
03E1
an
2C
2E
2F
03E5
ET
2A
03E7
FF
20
FF
61
FCB
03EB
B2
63
64
65
03EF
66
67
66
69
FCB
03F3
6A
IT
FC
37
03F7
36
39
2D
34
FCB
03FB
35
36
2B
31
03ET
32
33
30
2E
FCB
0403
IT
IT
FF
FT
2
O
0407
FF
IT
FF
FF
FCB
s
040B
FF
FF
FF
FF
3
• NUMBER LOCK
CD
040F
00
numstb
PCS
0410
IB
21
40
23
FCC
0414
24
25
5E
26
041B
2A
26
29
5F
041C
2B
06
041E
FF
51
57
45
FCC
0422
52
54
59
55
0426
49
4F
50
7B
042A
7D
OD
042C
FF
41
53
44
FCC
0430
46
47
46
4A
0434
48
4C
3A
22
043B
7E
0439
FF
7C
5A
56
FCC
043D
43
56
42
4E
0441
4D
3C
3E
3F
0445
FF
EE
0447
FF
20
FF
6B
FCB
044B
6C
6D
8E
BF
044F
90
91
92
93
FCB
0453
94
IT
FB
0456
10
01
OE
2D
FCB
045A
04
35
09
2B
045E
03
02
OF
19
FCB
0462
1A
FF
FF
FF
0466
IT
FF
FT
FF
FCB
046A
IT
FF
FF
FF
a
046E
IT
• NUMBER LOCK NORMAL K3DE (COVER CASE)
SIB, •1234567690— ". $08
SFF,'q*»rtyulopll*,$0D
SET,'asd£gh3kl;",S60
SFF, ■\zxcvbrw>, ./•,SFF,'«-
SFF, $20. SFF, $61, $62, $63, $64, $65
$86, $87, $86, $69, $6A, SFF, $FC, S37
$38, $39, $20, $34, $35, $36, $2B, $31
$32, $33, $30, $2E, SET, SFF, SFF, SFF
SFF, SFF, SIT, SFF, SFF, SFF, SFF, SFF
SHIFT WOE (UPPER CASE)
SlB.-iMSl". •()_+». $08
SET, •QWRTYUIOPI )•, SOD
SFF, ■ASDFO^JKL:■-•
SFF, S7C, •ZXCVBNWC >?•, SFF, SEE
SFF, $20, SET, $8B, SBC, $8D, S6E, S8F
$90, S91, $92, $93, $94, SFF, $FB
$10, $01, SOE, $2D, $04, $35, $09, $2B
• NUMBER LOCK
TONTROL MODE
046F
00
numrol
FCB
0470
IB
FF
00
FF
FCB
$1B, SET, $00, $FT, *FF, SFF, S1E
SFF
0474
FF
FF
IE
EF
0476
FF
FF
FF
IF
FCB
SFF, SFF, SET, S1F, SFF, $7F, SET
$11
047C
FF
7F
FF
11
0460
17
05
12
14
FCB
$17, 505, S12, S14, $19, $15, S09
$0F
0464
19
15
09
OF
0466
10
]B
ID
OA
FCB
$10, SIB, $10, $0A, SFF, $01, $13
$04
046C
FF
01
13
04
0490
06
07
06
OA
FCB
$06, S07, $08, SOA, SOB, SOC, SFF.
SFF
0494
OB
OC
FF
FF
0498
FF
FF
1C
1A
FCB
SET, SFF, SIC, $1A, $16, S03, $16,
$02
049C
16
03
16
02
04A0
OE
OD
FF
FF
FCB
SOE, SOD, SFF, SFF, SET, SFF, SFD
SFF
04A4
FF
FF
FD
FF
04AB
20
ET
95
96
FCB
$20, SFF, S95, S96, S97, $98, S99,
$9A
04AC
97
96
99
9A
04B0
9B
9C
9D
9E
FCB
$9B, S9C, $9D, $9E, SET, SFA, SOC,
SFF
04B4
FF
FA
OC
FF
04BB
FF
FF
FF
FF
FCB
SFF, SFF, SFF, SFF, SFF, SFF, $06,
SFF
04BC
FF
FF
06
FF
04C0
16
FF
FF
FF
FCB
SI 6, SFF, SET, SFF, SET, SFF, SFF,
SFF
04C4
FF
FF
FF
FT
04C8
FF
FF
FF
FF
FCB
SFF, SFF, SFF, SFF, SFF, SFF, SFF
04CC
FF
FF
FF
«
*
* MASK
OPTION REG
• SET
FOR XTAL
0764
org
$0784
0764
07
moa
fcb
«00000111
• INTERUPT VECTOR TABLE
07F8
ORG
S07FB
07FB
0130
TIHERV
FOB
time
07FA
0121
EXT INT
FDB
9°
07FC
0100
syssh:
FOB
reset
07FE
0100
VRESET
FOB
reset
EMXtfl OCRCTCD
END
ima nut
ccrlk 0144
noiplfl 01M
■^otnp 024 [>
own) 0229
maatu gas
r*M> 014J
i-.o™ OOl!
Ctrl ob D2ST
•wool OSM
nour.l OUU
«* 02 13
nuonc 040T
rmtami 0111
tcr 0001
tsmcv tin
lid oou
NCtrl* oiac
itcun* Oln
neurit) 0211
o«to» 0!«
nodtf OUC
t*r 0006
odrt 0004
■etoUo 01AA
neural Oin
nonml GJtr
out oiil
nlcoo OUT
COOtlB D2(|
cion SI ecwtl Old own 0»<r
otlrto 0005 ddrc QOOC go 0121
■™i 03A3 w 0704 oov*! Dill
ncur*4 G1FC ncunS 0205 neueaft 0201
noaccc «U «MH 027» imlok 0241
port* 0000 poicb ODOl parte 0002
iwaot 0100 ohltb 44 KhlCtb 0240
tin 01X
e«*ii O012
4*ctco 0010
«M<vO 0210
oeurft? 0211
nuanor OJV
puccnx 0147
•Mitt 91B
cabjft
■alt«*
noun
noutsfl
nuaroj
ovt»«y
icnc
Old
oi or
01 to
0220
04 U
01 ID
01CS
$03,S02.$0F.$19,S 1 A.SFF.$FF.$FF fQft TtfQSg ^ ff
SFF, $EF, SFF, SFF, SFF, SFF, SFF, SFF, SFF
68 MICRO,.
JOURNAL
TM
A REVIEW OF WETPAINT
New Clip Art for the Mac
By: James E. Law
1806 Rock Bluff
Hixson. TN 37343
Mac-Watch
With the current Information explosion, there Is
a proliferation of paper assaulting each of us.
With newsletters. Junk mall, advertisements,
and such like competing for attention, how can
one ensure his or her work gets the attention It
deserves? Perhaps pail of the answer Is In the
old adage, "a picture Is worth a thousand words."
To this end, a number of companies have pro-
duced clip art for the Macin-
tosh users.
The latest such offering is
WetPalnt by Dobi-Check
Software. Inc. WetPalnt con-
tains over 2.2 megabytes of
art on 6 double- sided disks.
It also contains two desk as-
sessories (Art Roundup and
Pattern Mover), and one font
(San Quentln).
This review Initially con-
sidered Rev. 1 to Art Round-
up. Ihe large number of bugs
and system crashes with the
version resulted in a call to
Dobl-Check who said that
problems with Rev. l had re-
sulted in Rev. 1.1. About two
weeks after disk 1 A was re-
turned, an updated disk was
received.
Art for Arts Sake
Wet Art is iecoided in
MacPaint (I.e.. PNTG) format
and can be opened by Mac-
Paint. Super Paint. Full
Paint, or other programs
that work with this format.
Wet Art clip art appeals on 87
- 8 by 10 Inch pages. Each
page contains from 1 to more
than 70 linages. Overall, this
collection Includes well over
1 .000 separate linages. The
great variety presented en-
sures that there will be some-
thing useful to almost everyone
terlal covered Includes:
- Borders
- Western art: guns, cowboys, saddles, rodeo
scenes
- Maps
- Business art: computers. Mastercard, office
equipment
- Food
- Clocks and watches
- Mlnature Icons: (lags. International symbols,
semaphores
- Men and women, and
- Much more
According to Dubl-Check. this art. with only
minor exceptions, is new and not previously pub-
lished.
A number of the pictures
are designed to be personal-
ized by the user. For exam-
ple, tee shirts are set up to put
the useis unique message on
them, a meeting notice In the
form of a big clock can be
modified to show the start-
ing time of the users meeting,
and a special large font Is
provided to prepare custo-
mized license plates.
Many pages contain help-
ful suggestions on how to
modify and use the various
linages.
Overall Ihe quantity, va-
riety, and quality of clip art
provided makes for a solid
value.
Art Roundup
Art roundup Is a desk as-
sessoiy which allows the
Mac user to open clip art.
MacPaint, or Full Paint
files: select and modify Im-
ages: and transfer those im-
ages to the clipboard without
leaving the application in
use. This means that while
preparing a document in
MacWrlte. Art Roundup can
be used to quickly review art
files, select an Image, and
transfer that Image through
the clip board Into the
McWrlte document. This pro-
Some of the ma-
- Trains, cars, boats, trucks, and bicycles
- Animals of eveiy description
- Seasonal pictures to spice up your holiday
cards and paity announcements
A picture of the author or a
sample of WetPalnt clip art?
gram peifoims essentially the same function as
Art Grabber or Quick Paint.
Upon selecting Art Roundup from the desk as-
sessory menu, a new menu appears with a num-
ber of tools and options. Selecting "Open Paint
File" displays all art files on the current disk
which can be read by Art Roundup. Selecting a
40
November"87
'68' Micro Journal
specific art file results In the related Images be-
ing displayed veiy quickly (less than 2 seconds
in my system). A "Show Page" option allows the
entire 8 by 10 inch page to be viewed. A rectangu-
lar can be moved to select the area of the page to
be viewed. (This Is Identical to the show page
feature In MacPaint.)
The scroll bars can be used to further adjust
the position of an image in the viewing area, but
this works extremely slow. A far faster solution
Is to select and use the jabber hand.
An eraser is provided to modify images or to
clean up around the Image to be selected. The
image can then be selected using the selection
marquee or lasso. Images selected with the mar-
quee can be Inverted, flipped horizontal, or
flipped vertical.
Art Roundup supports the use of the MacPlus
cursor keys for opening and selecting art files.
Several keyboard shortcuts are also provided to
speed things up for users.
Art Roundup is a very handy tool and is a
great companion to WetPalnt's clip art. It does
what it is supposed to do and does it fast. Art
Roundup Is temperamental, however, and even
Rev. 1.1 hung up fairly often, particularly If an
effort was made to select and copy a large Image.
While Art Roundup occupies less than 10K of
RAM. another 50K is occupied when a paint doc-
ument is opened. Perhaps some problems en-
countered by the reviewer were due to tight mem-
oiy situations. These problems may be avoided
by closing a window and trying again or by se-
lecting the art In sections to be pieced together in
the receiving application.
Pattern Mover
Pattern Mover is a desk accessory which al-
lows the editing of patterns and the transfer of
single files or entire pallets between different
Full Paint or MacPaint files. It wtll be especial-
ly helpful to Mac artists who create their own
patterns for use in Macpalnt, Superpalnt. or Full
paint and want to move these patterns between
documents or between applications. Pattern Mo-
ver was not reviewed.
System Reqiriorements
WetPalnt clip art can be used on any Macin-
tosh Including the 128K version. At least 512K
will be necessary, however, to use Art Rounup.
The combination of Wet Paint's high quality
art and the art accessing and handling capabili-
ties of Art Roundup provides a solid value. In
spite of the quirks In Art Roundup, this package
Is highly recommended.
MACINTOSH TRENDS...
Major New Macintosh Software
Offerings From Apple
Apple has announced two major new software of-
ferings for the Macintosh. The first, called Hyper-
Card. Is already on dealers' shelves.Thls pro-am Is
a lot harder to explain than it Is to use. HyperCard
consists of a number of "stacks" each of which is
composed of a number of related "cards. " For exam-
ple, there may be a stack of "to-do" lists with a sep-
arate card for each day; a stack of Inventory cards
with a separate card for each Item in an art collec-
tion, or a stack of sheets from an Instruction manual
will each card being a separate page. The cards may
be related to other cards, even those In other stacks
In any manner desired. Each card is up to the size of
the Macintosh screen. l>est you think that Hyper-
Card Is simply a new relational data base program,
read on.
The cards in HyperCard may be equipped with
powerful buttons which may be used to branch off to
related Information, dial a telephone, activate a sub-
routine involving sound, animation, and/or graph-
ics, or launch another application. It is also
equipped with extensive graphics capabilities for
preparing professional- looking cards.
This software accompanied with a very clear and
thorough manual which is the same size as the one
that comes with a new Macintosh.
HyperCard Is shipped on 4 disks which contain
numerous examples of how It may be used. Those ex-
amples are Intended to be the Jumping off point as
users create their own HyperCard application. Hy-
perCard requires a 1MB of RAM to run. It will be
provided free with Mac sold In the future but Is avail-
able for existing Mac owners for $49.00.
HyperCard is so powerful that Its applications
will be limited more by the creativity of users than
by the capabilities of the software. In upcoming
months I believe you will see many HyperCard appli-
cations being offered by users groups and software
companies.
The other new Apple offering is MultlFlnder.
This software . which was previously called Juggler,
was scheduled to be shipped to dealers In September.
MultlFlnder Is the first step toward a multi-tasking
environment for the Macintosh. It allows windows
from different applications to be open at once. While
all windows are visible, only one window Is active at
a time. When a given window Is selected, the asso-
ciated application is instantaneously acttvated.
As initially offered. MultlFlnder does not offer
true multi-tasking capabilities. It will allow future
programs to be designed to cause some activities such
as printing or downloading files to proceed In the
background while an application runs.
Like HyperCard. MultlFlnder will be free with fu-
ture Macs and will be available to existing owners at
a cost of $49.00.
68' Micro Journal
November '87
41
Pascal
A
Tutorial
By: Robert D. Relmlllcr
CertlRod Software Corp
616 Camlno CabaJlo
Nlppmo, CA 93444
805 929-1359
■■;;;""■ ■■■■'■'"
T~rv , " , /T""" 1 ?~B!^!
^■■■■± -■•:■■■■■.. -:
In any language you need some way to get
down to the operating system call level, assuming
your program runs on an operating system. One of
the most common methods is the use of external
procedure or function calls.
The operating systems I have experience with
generally fall into three categories as far as
system calls arc concerned.
1) Parameters passed in registers almost
exclusively, error status returned in a register,
examples are OS-9 and PDOS.
2) A pointer register is used to pass
parameters, it may point to a parameter block,
error status returned in a register, examples are
CP/M-68K and VERSAdos.
3) All parameters passed on the stack, error
status returned in a register, an example is
GEMDOS on the ATARI ST.
Note that only option 3 is easily handled by a
compiler, since all parameters are passed on the
stack anyway, no major changes are required, and
there is no worry about random use of registers.
Since we are talking about OS-9 here, we will
only cover option 1. These system calls generally
have the task of moving parameters off of the
stack into the appropriate registers, doing the
system call, and then setting any return values
back on the stack so the high level language can
access them.
As an example of mixing standard Pascal I/O
with OS-9 system calls, lets look at a program
that has the job of restoring the module checksum
and CRC. The program is designed to allow
multiple modules per file (such as a boot hie) and
will automatically make the distinction between
OS-9/6809 and OS-9/ 68000 module formats.
The program :
Program validate ($vl,l os9 call example) ;
type
(pascal device descriptor for file of byte)
descr - record
p mode : byte ;
p err : byte ;
p~drv : longhex ;
p_elnt : integer ;
pelmt : byte ;
p_path : hex
end ;
var
f : file of byte ;
meek : boolean ; (true if £8000 format)
idx, parity9 : byte ;
parityk, err : hex ;
scount, count, mod size : longhex ;
p : "descr ;
crc : longhex ; (crc accumulator)
header9 : array [10 .. 16] of byte ; (6609
header buffer)
headerk : array [10 .. IS17) of hex ;
(66000 header buffer)
buf : array [S0..S3FF] of byte ; {Ik data
buffer)
($I/dd/pdef /os9calis access external procedure
definitions)
begin
(SI+)
open (f, cline(l), update) ; (use 1st
camand line parameter)
p :- addr(f) ; (get address of variable f)
while not eof (f) do
begin (scan for header)
read (f, header9[0]) ;
if (header9[0] - $67) or
|header9[0| - $4a)
then
begin (have valid first byte, look
for second)
read (f, header9[l]) ;
if |header9[l] - SCD) and
|header9[0] - $67)
then
m6Bk :- false (6609 header
format )
else
if |header9[l) - $FC) and
(header9[0] - $4a)
then
m68k :- true (66000
header format)
42
November's?
68* Micro Journal
else
exit ; (not a loadable
nodule)
crc :- SFVTTTF ; (Initialization
value)
if m68k
tlien
begin (use words)
headerk [OJ i-
hex(lieader9[0]) « 8 +
hex(lieader9[l]) ;
for ldx :- 1 to 22 do
begin
read (f, parlty9) ;
(build header words I
header* [idx] :«
hex(parlty9) « 8 ;
read (f, parity9) ;
headerk [ ldx] :-
headerk I ldx] ♦
hex(parity9) ;
end ;
parltyk :- ;
for idx :• to 22 do
{calculate parity)
parltyk :- parityk eor
headerk [idx] ;
headerk [23] :- not parltyk;
(set parity)
write It,
byte (headerk [23] » 8)) ;
write (f.
byte (headerk [23])) ;
(and update file)
(calculate nodule size
(remainder) )
nodslze :-
longhex (headerk [2]) « 16
♦ longhex (headerk [3])
- $33 ;
(do crc over parity area of
module)
err :» f_crc (crc,
addr (headerk), $30)
end
else
begin
(similar for 6809 nodules,
except we work on
bytes instead of words)
for ldx :- 2 to 7 do
read <f, header9[idx]) ;
parity9 :- ;
for ldx :• to 7 do
parlty9 :- parity9 eor
header9(ldx] ;
header9[8] :- not parity9 ;
write (f, header9[8]) ;
modsize :-
longhex (hex (header9 [2] )
« 8 +
hex(header9[3l) - SO ;
err :- f_crc (crc,
addr (header9) , 9) ;
end ;
(calculate crc using IK chunks)
for count
- 1 to modsize»10 do
begin
s count
i- 1024 ;
err :-
1 read (addr(buf).
scount, p".p_path) ;
err :»
f crc (crc, addr(buf).
scount)
end ;
(calculate
crc over remainder of
file)
scount :-
jrodsize and 1023 ;
1 f scount
<>
then
begin
err
:- i read (addr(buf).
scount, p".p_path)
err
:- f crc (crc,
addr(bi)f), scount)
end ;
(update crc for this module)
write (f, not byte (crc » 16))
write (f, not byte(crc >> 8) ) ,
write (f, not byte (crc))
end
end ;
close (f)
end •
Pascal extension notes :
1} Extra data types : byte = same as char, one
byte unsigned, hex = 2 byte unsigned, longhex = 4
byte unsigned.
2) a $ preceding a value indicates that the
value is taken as hexadecimal.
3) a # preceding a value indicates that the
value is taken as a byte value.
4) eor is the exclusive or operation
5) » is shift right (shift count is on the right
of the operand), likewise, << is shift left.
6) the convention of "<data_type> ( <value>
)" is used to convert the value to the data type.
7) the exit statement exits the enclosing loop
(in this case the while loop).
8) the addr function returns the address of a
function or procedure.
9) the open procedure has it's second
parameter the file name, as it's third parameter,
the data direction (input, output, or update).
10) Operators such as not, and, or, eor are
logical if the operand is boolean, bitwise for all
others.
In the file os9calls, f_crc has the following
definition :
{On input ace is the crc accumulator, count is
the data byte count, and ptr is the ADDRESS of
the data block. On output ace will be the updated
crc accumulator)
function f_crc (var ace : longhex ; ptr, count :
longhex) : hex ; external ;
i_read is defined as follows :
{On input buf is the ADDRESS of the data
buffer, count is how many bytes you want to read,
and path is the path number. On output count will
be the actual number of bytes read.}
function i_read (buf : longhex ; var count :
longhex ; path : hex) :
hex ; external ;
'68' Micro Journal
November %7
43
In the os9calls file are about 45 other
definitions for OS-9 system calls. Implementing
the more obscure system calls is left as an exercise
for the reader!
OS-9 does all file accesses using a 2 byte
"path" number. When the file is opened using the
pascal "open" procedure, the path number returned
by the operating system is stored in the file
variable in the field "p_path". We use this path
number when we do the i_read call. The i_read
call is used since it is capable of reading any
arbitrary number of bytes of data, rather than
using the file variable definition of 1 byte per
record.
The example program is entered using the
editor, and then the compiler is called to compile
from the edit buffer to check for syntax. Also noted
is that the stack size is $46E bytes.
The linkage creator is called to setup the
control files for this little project :
$ lc validate
CknagaSoft Linkage Creator Version 1.21
Copyright 1987 by Certified Software
Corporation
Global stack aize not determined
auto setup 1 y
Process 2 command line option ? n
Stack, heap, and Varib aize : 600
Library directory nans : /dd/
Other pascal filea :
Other assembly files : /dd/pdef/os9eode
Other assembly files :
Other library filea :
Linker command line info : validate. np
Map options : f
Include filea : /dd/pdef /os9calla
Include filea :
Debugger optiona :
Target dabxjgger optiona :
Conpiler optiona : -d
Conpiler optiona : -r
Compiler optiona : -Ip62ftw96 /p
Conpiler optiona :
Assembly options : -o
Assembly options :
Editor options :
OmagaSoft 68000 Assembler version 1.21
Copyright 1987 by Certified Software
Corporation
Errora : Code : 00AE Data : 0000
Varib : 0000 Table 14 of 944
$ pa validate
Now in the pascal shell, we can compile it
using the -D option, and then run the debugger.
When we are in the pascal mode of the debugger
we need to set in the file name we want the
program to use. This is because the programs uses
"cline(l)" as the file name. "Cline" is a function
that returns a command line parameter, returns
the entire command line, 1 returns the first
parameter, 2 returns the second, etc.
<P>sc
<$> testfile
<P>g
Assuming we have a file called testfile (I just
copied a sample file from the command directory)
it would reset the module(s) checksum and CRC to
the correct values in that file and exit.
This particular program is probably of not
much use, since the only way the checksum and crc
should be modified is if the file is patched, and
the OmegaSoft patch utility includes a command
to restore the checksum and crc. In fact, this
example was derived from the applicable
procedure in the patch command (why write
something new when you can borrow code from
something you did before?).
Next time we will look at doing multi-tasking
under OS-9 /68000.
OmegaSoft is a registered trademark of Certified
Software Corporation. OS-9 and OS-9168000 ere trademark of
Mieroware System! Corporation. PDOS is a trademark of
Eyring Research. CP/M-6SK is a trademark of Digital
Research. VERSAdos is a trademark of Motorola.
EOF
FOR THOSE WHi
68 MICRO
JOURNAL™ 1
44
November '87
'66' Micro Journal
Forth
A Tutorial Series
By: R. D. Lurie
9 Linda Street
Leominister, MA 01543
INSTALLING FIG-FORTH
Some of you may be considering joining In the
pleasures of FORTH programming by Installing FIG-
FORTH, so I thought that It would be a good Idea to
report on my experiences with the 6609 version.
FORnt Is a lot of fun and easy to use. If you
start off right. But FORm can be a killer If you get off
on the wrong footl There are two ways to get F1G-
FORrH for the 6809. either you can buy the printed
listing from FIG for $15 and the Installation manual
for another $15, or you can purchase one of the
reasonably priced systems from several vendors In a
ready- to- use form. I recommend that you save
younself a lot of ajptvation by buying a system, unless
you know how to use the FLEX assembler and have a
good editor.
The version of FIG-FORTH you get from FIG
has no Instructions on how to Install It In any
machine. They assume that you already know how to
get a complicated program up and running without
any help from anywhere. The "Installation manual"
was written for a 6502 processor, and Is really of no
help, except for the primitive FORIH editor It
contains and the FIG glossaiy (which Includes woids
not found In FlG-FORrH for the 6609. and vice versa).
FIG-FORTH Is the public domain veislon of the
FORTH sold for years by TALBOT MICROSYSTEMS
[who did advertise In 68' MJ. but that Is not why 1 am
writing thlsl). I would guess that their manual would
be the Ideal choice to go with 6809 FlG-FORrH. In
any case, you will need at least one good book on
FORIH before you can do much with FlG-FORrH.
In order to use FIG-FORTH for the 6809 In the
form supplied by FIG. you must have the Items listed
In Hgurc 1.
1. A 6809 computer with the Fl£x (or SK'0O5?> operating
system.
2. At least one disk drive.
3. A terminal communicating through an ACLft.
4. A minimum of 16k of RAH, beyond that required for DOS.
5. An editor for entering the program to disk.
6. A macro assembler (the FLEX assembler is assumed) .
Figure 1. The minimum hardware/software requirements for
installing FIG-FORTH.
As you can see from item #3, a CoCo cannot be
used, even If one of the versions of FLEX or SK'DOS
has been Installed. Unless you are prepared to do a
lot of assembly language work, don't kid yourself Into
tiying to force-feed FlG-FORrH Into the CoCo.
Even If you have all of the Items on the list, be
prepared to spend several (I!) hours typelng and
debugging, before the listing will even assemble. 1
found one error In the listing; there Is a typographical
error In the macro for TICK . This can be found at the
top of page 38. The correct form Is
l-IWORDM !.. "".IMMEDIATE
Somehow, the two quotation maiks got left out
when the listing was printed. 1 am embarassed
evei-ytlme I think about how long It took me to find
that this was what was fouling up the assembler.
Alter reading all of this, you are now probably
convinced that you do not want to tiy to Install FlG-
FORrH. 1 hope that I have not laid on the cautions too
thickly, since FlG-FORrH does work, and It works
very well! You Just have to be awaie of the potential
pitfalls before you start.
WHY CONSIDER FIG-FORTH?
You may wonder why I even bring up the
subject of FlG-FORrH. If It Is so hardware limited and
such a pain to get going. My reason Is that It Is the
only source 1 know of for a complete 6809 FORfll
source-code listing which does not require a meta-
compiler or other specialized software. If you want to
customize FORTH to an unusual hardware
configuration or to a minimal size for a particular
situation, you must have the source-code In a form
that is easy to modify and work with, and that is what
you get with FlG-FORrH.
Frankly, FF9 from Wilson Federlcl Is a much
better deal for the average hobbyist, since It comes
ready to run and Is a greatly extended version of
FORrH-83. You can easily and readily extend FF9
further, but you would have a lot of difficulty making It
any smaller, since a meta-compller was used to
generate the original source-code. For most of us,
that is no problem, provided you can use the "(looted
math" of FORrH 83.
WHY NOT USB FORTH-83?
Despite some of my rather loud ran tings and
ravings about the surprises In FORfH-83 for Ihose
weaned on FIG-FORTH. 1 do think that It really Is a
friendlier programming haven than FIG-FOR'IH.
However, FORrH-83 does use floored math. "Floored"
math means that any operation In Integer math
which has a remainder results In value truncation
(not rounding) toward negative-Infinity. Of course,
any math scheme is floored math, but the expression
Is not used for the much more common convention of
using zero as the Door.
MATH PROBLEMS
1 am sure that there were some good arguments
extolling the advantages of minus infinity as the floor
when the subject was presented to the standards
committee: otherwise. It would never have been put
Into the FORTH-83 standard. Unfortunately. I have
never knowingly encountered any of these
advantages. The big disadvantage, from my point of
view, is that FORTH-83 can give the WRONG ANSWER
to any division problem which produces a negatively
sljpied quotient. Presently, the only fix l know of for
'68' Micro Journal
November '87
45
this bug Is to do the division as unsigned, and then
force the quotient to be negative after all of the
division Is finished. 1 don't like that solution, but I
don't know of any other which will work In FOR1H-83.
If you don't like that Idea, then you must either use
FlO-FORMl or FORTH -79 or. else, write you own
math routines, which will not be a part of the FORTH -
83 standard.
You may wonder at why this Is a problem, so 1
will give you a simple example from F1G-FORIH and
FORIH-83. The examples In
FIG-FORTH:
10000
-10000
355
355
113
113
FORTH- 8 3 :
10000 355 113
-10000 355 113
.«> 31415
-- > -31415
--> 31415
~ > -31416
Figure 2. An illustration of the difference between division
in FIG-FORTH and FORTH-83 .
Figure 2 show that you get the same answer
when you use the */ operation with positive or
negative numbers with FIG -FORIH. but you get a
different answer when you use the same operation In
FORTH-83. I grant that the difference Is small, but
there should be NO dlllerence! Consider what kind of
problems you could get Into when trying to move an
accounting program from FIG-FORTH to FORTH-83.
Sometimes I think that the people who write
standards don't live In the real world (I'll grant equal
time to the opposition)) Now you can see why there Is
a market for FIG-FORIH and FORIH-79.
FORTH IN ROM
Every once In awhile, there Is a flurry of interest
In putting FORIH Into ROM. This Is a veiy good Idea
for use In dedicated controllers, and other such
devtces. but It poses a problem for the general
purpose computer. When FORIH Is put Into ROM. It is
then veiy difficult to change It, which Is the potnt of
using ROM tn the first place. However, the general
purpose use of FORIH often requires extension of the
dictionary with words which are unique to a
particular Job. 'therefore, these words must either go
into RAM or go Into a new. special purpose ROM.
Unless you want to keep a library of ROMs, It appears
to me that one Is better off keeping a library of disks.
Except In veiy special cases. FORIH requires
some RAM for the Data and Return Stacks. Therefore,
under normal circumstances, there Is no practical
way to escape using at least a few words of RAM. In
fact. 1 cannot think of any way that a true FORIH for
the 6800 or 6809 could be written which did not have
a Return Stack, even if you could avoid a Data Stack
by Judicious use of the registers. I am sure that even
the relative multitude of registers tn the 68000 would
not remove the necessity for some RAM, because you
would still need the Return Stack. As I think about It,
It occurs to me that the way 16/32 bit machines
"waste" RAM. the 68000 would probably need more
RAM than a 6809 to do the same Job.
Some people think that putting FORIH In ROM
would somehow make It run faster than the same
code In RAM. For the same CPU clock speed,
assuming no wait states, programs In RAM and ROM
should execute at the same speed, so that there Is no
way for one to run taster than the other.
The only way to gain speed would be In the
original loading of the FORIH. If the FORIH were In
ROM Instead of on a disk, you would not have to spend
the loading time for the original setup each time that
you turned on the computer, but there would be no
gain beyond that. Program execution would stay the
same.
Of course, the situation would change for a
cassette tape system. Programs Just do not load as
fast from tape as they do from disk, so you could get
pretty tired of watting for your FORI"H to load. This
must be one of the reasons for BASIC In ROM on the
CoCo. etc. I certainly remember Ihe agonizing wait for
SWIP 8k BASIC to load tnto my 6800. Under those
conditions. 1 would even have settled for COBOL
programming. If it were in ROM and I had enough
RAM to go with 11171
SINGLES TO DOUBLES
This has nothing to do with 9exi Many FORIH
words expect to find a double precision (32-bit)
integer on the Data Stack, even though we usually do
as much as possible with single precision (16-blt)
Integers tn order to speed up program execution. The
question often arises as to the best way to convert a
single Into a double.
I have the bad habit of simply stuffing a onto
the Data Stack in order to make the conversion as
quickly and as painlessly as possible. This Is
acceptable for unsigned or positive I6-bll Integers,
but It Is wrong for negative 16-blt Integers. If the
single precision number on the Data Stack Is
negative, then - 1 Is the correct value to stuff onto the
stack.
Ihe proper way to do this Job Is with S->D . An
effective high level definition is:
l-l:S->D(n-d)DUPO<IF-l ELSE THEN ;
You already have this word in FIG-FORrH, but
It was left out of FF9. Of course. It would be better to
define this word tn assembly language If you need a
speedy conversion. Look at Figure 3 for an assembly
language definition suitable for FF9.
COOE S->D ( n -- d )
I LDD
,U TST
MI IF, COMA CCMB THEN,
,--U STD
N8XT,
END-CODE
Figure 3. FF9 code definition for S->0
In case you are wondering, the definition of Figure 3
came from the F1G-FOR1H source-code, and the
resulting machtne codes are Identical. Ihe high level
definition takes 202 microseconds and the low level
definition takes 41 microseconds to extend the
size/sign of a negative Integer. The high level
definition takes 182 microseconds and the low level
definition takes 37 microseconds to process a
positive Integer. This factor of only 4.9 times as long
shows how remarkably fast a FORIH definition can
be.
46
November "87
68' Micro Journal
EXECUTION TIMES
I am tn the process of running an exhaustive
study on the execution speed of most. If not all. of the
common FORTH functions, and I will report on them
as soon as I complete the experiment. At present. I
plan to compare FIG-FORTH and FF9 for the 6809
and LM1 Z-80 FORTH for CP/M. If 1 can make It work, I
will also download the Z-80 FIG-FORTH from the
CP/M-SIG on CompuServe to be Included with the
others. I should mention that I am using a GMX 6809
cpu card operating at 1 Mhz. and a Z-80 operating at 4
Mhz. In a CP/M system.
As you can Imagine, this study takes a lot of
time, and I have Just baiely started wllh the FF9. 1 am
not sure how long the study will take take, since I
want to compare a reasonable selection of definitions
In both high level FORTH and assembly language.
Furthermore. If I can manage It. I wtll tiy to throw In
as many comparable operations as I can In C. BASIC,
and possibly PASCAL. Whether or not this can bt
done depends on both my programming ability and
language availability. I would be happy to hear any
suggestions any of you would care to make: and
constructive criticism of the testing method will be
welcomed. I have no ax to grind, here, so I don't care
how long It takes to finish the study. If ever, and I have
no predisposition as to the results. I'll Just repoit
Ihem as I measure them.
I mention this partly because of the surprising
(to me) result I got from timing the IF ... ELSE ... THEN
branching conditional In FF9. I should not have been
surprised that a TRUE branch takes significantly
longer than a FALSE branch (a 4:3 ratio). The reason
Is that a TRUE branch simply must execute more
machine code than a FALSE branch, so It must take
longer. This Is not unique to FF9. but the ratio of times
to execute the two branches must depend on the code
written and the cpu used for execution.
It turns out that there Is no significant
difference In FF9 for the execution time of the simpler
IF ... THEN conditional, whether the Boolean flag Is
either TRUE or FALSE. This Is what 1 expected.
Intuitively, but I was amazed to discover that this Is
not true for the LMI Z-80 FORTH. I suppose that Ihe
Z-80 JZ/JMP command combination was used to
write the definition, and this could account for the
timing difference.
All of the times are based on "empty" functions.
In that I have found that the times I get are additive,
so that I can extract known time fractions from an
experiment so that the difference can be attributed to
a single operation.
CASE STATEMENT EFFICIENCY
As you may have noticed. I am partial to the
CASE ... ENDCASE structure proposed by Eaker In
FORTH DIMENSIONS. II/3 . I devoted considerable
space to It In the December, 1986. issue of 68 'MJ. so
you can refer to either place for more details on the
use of this version of CASE ... ENOCASE .
I was particularly interested in seeing the
results of a timing study on this subject since I do use
it so much. Ihe results are summarized In Figure 4.
This definition was called from a nested
DO ... LOOP structure which executed a total of
100.000 times. Ihe repotted values are the averages
extracted from each run. alter the time used by the
loop, itself, and loading the CONSTANT had been
factored out. Figure 5 shows this structure.
CASE-STUDY ( n — )
CASE
OF
ENDOF
\
235
microseconds
1
OF
ENDOF
\
374
microseconds
2
OF
ENDOF
\
513
microseconds
3
OF
ENDOF
\
£54
microseconds
4
OF
ENDOF
\
7 95
microseconds
(
default )
END-CASE i
\
174
microseconds
Figure 4. The -envty- CASE ... END-CASE timing experiment.
3 CONSTANT 3
4 CONSTANT 4
54 CONSTANT 54
TEST
TIMER -ON
2 DO
50000 DO
CASE-STUDY
LOOP
LOOP
TIHER-OFF ;
\ - 4 and 54 were used here
LOOP structure used to call
Figure 5. The nested DO
CASE-STUDY .
In order to simplify the test, the value of the
CONSTANT was changed and the definition was
reloaded for each value tested.
When I started to study the test results. I found
the same kind of additive time factors as I had found
wtth other operations. After examining these results,
I have calculated (and measured) that there is a
minimum overhead of 214 microseconds If there Is
only one selector, and It is not chosen. Ihls compares
to 34 microseconds for a single IF ... ELSE ... THEN
conditional taking the FALSE path. Iherefore, don't
use CASE ... ENDCASE for a single choice-pair, tfyou
have any need for execution speed.
I have not had time to determine the cause for
this very high overhead for CASE ... END-CASE: it wtll
probably turn out to be something obvious, once I get
a chance to study the situation. However. It is a good
example for the adage about taking nothing for
granted.
Ihe CASE ... END-CASE construct Is essentially
only a more convenient way to program a series of IF
... ELSE ... THEN choices. It Is not a Jump-table! A
cursory glance at the data In Figure 4 shows that you
should not use the CASE ... END-CASE for any
operations which must be run In the shortest
possible time. Furthermore, put the most common
choice at the head of the list and the least likely
choice at the bottom of the list. For practical
purposes, the last choice on the list and the default
will be selected In about the same amount of time.
Now I know why some of my programs have been
running slower than I expected)
The Ideal use of the CASE ... END-CASE
construct Is In an operation like keyboard Input
sorting, since there Is no possible .way that you can
type fast enough to outrun the computer. On the other
hand, a different selection scheme should be used for
time- sensitive operations, such as animated
graphics. In other words, don't let programming
habits cause you to make poor pfogrammln g choices.
BOP
'68' Micro Journal
November's?
47
Build the GT-4 Graphic Terminal
(A Construction Project)
By-
Joseph D. Condon
8072 172nd. Street W.
Lakeville, MN 55044
Phone: 612-431-7624
Introduction
With the increased popularity of OS9 and other
multiuser operating systems, there has developed
a strong demand for low cost high quality ASCII
terminals. Unfortunately, a good quality general
purpose terminal will sometimes cost as much as
the system you connect it to. Many of us own or
use systems capable of supporting multiple users
with only one teimlnal attached to them. Having
a second terminal in the den or upstairs out of
the basement is a luxuiy few of us can afford. For
those of you who do not yet own a system and are
considering purchasing one of those low cost
single board computers, dont forget that you will
have to connect a teimlnal to it before you can
use it. The additional expense of a good quality
terminal can sometimes raise the price of a
single board system beyond the budget of a
typical hobbyist.
If you are willing to invest some time and if the
thought of wire wrapping or the smell of solder
doesnt make you violently ill. I can show you
how you can build your own ASCII teimlnal with
all the bells and whistles Including medium
resolution graphics for a fraction of the cost of a
commercially available unit.
How much of a fraction? Well that depends. You
will have to purchase a monochrome video
monitor with a composite video input and an
IBM XT compatible keyboard. These two items
will account for the majority of your expenses.
With a little bargain hunting you should be able
to purchase these two items for under $150.00.
The remaining cost will be for components and a
case to put them in. The total cost for the project
should be under $250.00 if you. buy everything
new. If you have a well stocked Junk box you may
be able to i educe the cost to under $200.00.
Before committing your time and hard earned
cash to this project, you probably would like to
know a little more about what you will receive
for your eirorts. The terminal, which I will refer
to as the "GT" (graphic terminal) is an
asynchronous, RS232. ASCII type terminal. The
CD
terminals electronics Including the power supply
is designed to fit neatly into a 10"L x 7.5"W x
3.1"H case available from Jameco Electronics
(part no. H2507).
The GT is capable of operating at speeds up to
19200 baud. The communication default
parameters such as baud rate, parity, character
data length and stop bits are switch
programmable. These parameters can be changed
or oveiTidden at any time by use of a built in
configuration menu which can be invoked from
the keyboard. The GT's screen foimat is 80
characters wide by 24 lines high. The GT
contains both upper and lower case character
sets and supports character underlining and
character reverse video. Editing functions
Include character insert and delete, line insert
and delete, clear to end of line and clear to end of
page. The GT also supports all of the standard
control codes such as clear screen, home cursor,
line feed, carriage return, etc. Absolute cursor
positioning and invisible cursor mode are also
supported.
In addition to the previous Items, the GT provides
medium resolution graphic capabilities. The
display screen of the GT can be considered as a
plane of pixels 640 wide by 240 high. Each
Individual pixel can be turned on. off,
complimented or tested using simple ASCII
escape sequences. There Is also a fast line
drawing function based on Bresenham's line
drawing algorithm. Graphics and text can be
mixed and will appear on the screen
simultaneously. The GT is also capable of
dumping to or loading from the host computer
partial or complete screen images In the form of
ASCII text records. In combination with a good
quality keyboard and video monitor, the GT will
make an attractive first or second terminal with
excellent display quality for a minimum cost.
48
November "87
'68' Micro Journal
Because of the amount of Information that needs
to be covered, this construction project will be
presented In two parts. The first part
concentrating on the hardware and the second
part concentrating on the software. The software
for the GT Is complete and fully functional. It Is
not necessary for the builder to be a programmer
In order to construct a working terminal. The
software source will be printed In part two of this
article and will also be made available by "68
Micro Journal" In the form of a reader service
disk. You the builder must have access to a
"FLEX" system capable of assembling the 6809
source code and burning the object file Into a
2764 type EPROM. For those of you who
absolutely do not have access to a "FLEX" system
or EPROM burner. I can supply a limited number
of programmed eproms for a price of $20.00 each.
I really do not have the time or facilities to bum
large quantities of EPROM's but I will do It for
those Individuals who absolutely have no other
means to acquire the EPROM.
The Hardware
The GT Is designed around the MC68B09E micro
processor. The "E" style processor Is similar to
the standard 6809 except that It requires
externally generated E and Q clock signals. This
allows for complete synchronization of the
processor In relation to external events. This
synchronization is required In the GTs design.
The 6809 series processor only requires access to
its memory and I/O devices when the E clock
signal Is high or active. When the E signal Is low.
the processors address and data bus can be used
by other devices provided the processor Is
isolated from the address and data bus. Tills type
of operation Is known as memory access
Interleaving and Is especially well suited to the
6809E because of Its external clock requirements
and Its fixed memoiy access cycle time.
When Implementing an Interleaved memory
access design, several points of concern need to
be addressed. One major point Is device access
time. As an example, a typical non interleaved
system operating at a clock speed of two
megahertz will require memoty and I/O controls
with access times of 350ns or less. If we were to
Interleave this system, our access time would
decrease to 2 10ns or less. This access time Is not
a problem for today's ram devices but It does
present a problem for some eproms and most I/O
controls. It is possible to find eproms with access
times below 210ns but the standard two
megahertz I/O controls for the MC680O family
have a minimum access time of 220ns which
would be too slow for this design. To get around
this problem, most Interleaved systems will only
allow Interleaved access to ram or wtll restrict
its clock speed to somewhere under two
megahertz.
To avoid the access time problem associated with
Interleaved systems, the GT only allows
Interleaved access to Its ram memory. To further
simplify Its design, the clock speed of the GT has
been established at 1.5 megahertz. This allows
the use of standard two megahertz I/O controls, a
250ns eprom and a 150ns ram.
The ram memory addresses of the GT are
Interleaved between the 68B09E processor and
the 6545A video controller chip. The
multiplexing of the addresses are handled by four
74LS157 multiplexor chips. The systems E clock
signal Is used to select the source for the
multiplexing circuits. During the time when the
video controller has access to ram, the
processors data bus Is isolated from the rams
data output lines. This Is accomplished by the
74LS245 bidirectional buffer chip. Once the ram
has been addressed by the video controller, a
shift register Is loaded horn the rams data output
after the rams access time has been met. This
data Is then shifted out of the 74LS165 shift
register at the rate of 12 megahertz, each data bit
representing one pixel. During this access period
It Is necessary that the rams R/W signal remain
In the read state condition.
In order to create a video Image, in addition to
pixel Information we must provide
synchronization signals for the video display
device. These synchronization signals both
horizontal and vertical are generated by the
6545A video controller chip. The 6545A also
generates cursor and video enable signals which
are all latched into a 74LS75 at the same time
that the shift register is being loaded with ram
data. The latched data and the shift registers
pixel information Is then combined to create a
composite video signal that Is suitable for our
display device.
It Is Imperative that all of the before mentioned
steps occur at precisely the same point in time. A
time variation of only 20ns will be noticeable on
the display screen. Because of this critical timing
it is necessary to compensate for differences In
propagation delays of the different chips being
used. This is accomplished by using multiple
buffer gates In series to delay certain critical
signals such as the latch enable signal. The
appearance of these buffers may appear
redundant In the schematic but they are
necessary for proper operation of the GT. It is
also advisable to use only the "LS" versions of the
7400 series Integrated circuits. Substituting non
"LS" devices with different propagation delays
will probably affect the quality of the display
Image.
The clock generation and timing signals
required by the GT originate from a 12 megahertz
crystal oscillator. I chose to use the oscillator as
opposed to a discrete crystal In order to reduce
the component count of the GT. The frequency of
12 megahertz is arrived at by the following
'68' Micro Journal
November 37
49
explanation. A standard video monitor has a
horizontal scan time of 63.5us. Approximately
80% of this time can be used to display video
Information. The remaining 20% of this time
will be used for horizontal sync and blanking.
The amount of time allowed for display data is
therefore 50.8us.
Since each display character frame Is eight
pixels wide and we wish to display 80 characters
per line, we are therefore allowed a time of 79ns
per pixel. This gives us a clock frequency of 12.6
megahertz. Since a 12.6 mhz oscillator would be
hard to find. I chose the closest standard value of
12 mhz. This means that we will be displaying
data for 84% of each horizontal scan time as
opposed to 80%. This Increase In display time
may require a slight adjustment of the monitors
horizontal width control In order to display all
80 characters.
The oscillators output Is fed directly Into the
shift register and Is used to clock the data bits out
to the display. This clock Is also fed into a
74LS193 counter who's outputs are decoded by a
74LS138 Into eight Individual state signals. Four
of these state signals are used to set and reset two
flip-Hops which generate the systems E and Q
clock signals. Another flip-flop is used to
generate a ram enable signal which In effect
disables the ram for a short period of time to
allow for multiplexor address stabilization
during the select transition time.
The state three signal Is used to load the shift
register and to latch the control signals coming
out of the video controller chip. Notice that the
clock signal driving the counter Is delayed by two
Inverters in relation to the shift registers clock
and also the state three signal which latches the
video control signals Is delayed in relation to the
shift registers load signal. These delays are
needed to compensate for differences In
propagation delays which would affect the
quality of the GT's display.
Control of the ram data buffer and the ram R/W
signal Is derived from the Inverted system E
clock signal, the processors address 15 line and
the processors R/W signal. Decoding of the RAM.
PIA. AC1A and VID enable signals are handled by
a second 741.S138 decoder chip who's outputs are
only enabled during the high portion of the
systems E clock signal. Notice that the lower four
outputs of the decoder are not used. These four
outputs correspond to the memory locations
occupied by the ram and are not needed since the
ram buffer Is already being controlled by the
processors A15 line and the systems E clock
signal.
The ACIA control used In the GT is a 655 1A. This
controller has an on board baud rate generator
which can be controlled by software. This allows
for changing the terminals baud rate without
having to physically alter the circuit. The
MAX232 driver chip is a fairly new device on the
market. With the addition of four capacitors, the
MAX232 can generate the positive and negative
RS232 signal levels from a single five volt
supply. This greatly reduces the total number of
components required for RS232 compatibility.
The PIA control serves several functions in the
GT. The A side data port of the PIA Is used to read
the configuration switch settings. The CA2 signal
Is used as an output which triggers a one shot
which sounds the piezoelectric beeper. The B side
of the PIA Is used to access and control the
keyboard.
The keyboard used with the GT must be an IBM
XT compatible keyboard. This type of keyboard
transmits its data In serial fashion. Each scan
code received from the keyboard Is eight bits In
length and Is preceded by one start bit. The start
bit and data bits are shifted out of the keyboard
In synchronization with a keyboard supplied
clock signal. The data bits are valid during the
fall time of each clock cycle. The 74LS164 shift
register. Hip-flop and Inverter make up a nine bit
shift register. When the last data bit Is shifted
Into the 741-S164. the start bit Is shifted into the
flip-flop. This resets the flip-flops Q not output
which is connected to the PIA's CB1 input. This
transition of the CB1 Input causes the PIA to
generate a processor Interrupt request. When the
processor services the interrupt It first reads the
B side data port of the PIA which will contain the
keyboard scan code received by the shift register.
The processor then toggles the CB2 output line
low and then high which resets the shiit register
and flip-flop in anticipation of the next scan
code to be received. It Is important that the
processor clears the shift register and Hip-flop
before the next scan code begins to shift in. If not.
the GT would loose synchronization with the
keyboard and only garbage would be received.
Because the 68B09E can service interrupts much
faster than the keyboard can generate them, this
Is not a real problem.
Well, that pretty much coveis the theory behind
the GTs hardware design. It Is not necessary to
understand all of the details Involved with the
GTs design In order to build a working terminal.
1 Just thought that the explanation would be of
interest to those who may want to modify or
expand upon the basic design of the GT.
Construction
A picture of the GTs circuit board layout is
Included with this article. The picture is not to
scale, however the grid markings on the board
are one tenth of an inch on center. The
construction technique I recommend is wire
wrapping. For those of you not familiar with this
type of construction. I will tiy to give you a few
quick pointers.
50
November'87
68' Micro Journal
Fiisl of all. the board must be cut to size before
any components can be mounted. Alter cutting
the board to size you should then drill the eight
mounting holes and the one additional hole
needed to attach the regulator and heat sink to
the board. Notice the three holes across the
center of the board are drilled between the
existing prepunched gild holes.
Once drilled. I would suggest laying the
board on a one inch thick piece of styrofoam
Insulation so that the discrete component
mounting pins can be easily Inserted. I
recommend using Vector T-44 type pins. These
pins need to be Inserted wherever discrete
components are to be mounted, such as by-pass
capacitors, resistors, diodes etc. Once the pins are
inserted you may then solder in all of the discrete
components.
The next step after removing the board
from the styrofoam base Is to mount the cable
connectors and the beeper. I prefer to use quick
setting epoxy for this. Next Insert all of the IC
sockets but do not glue or fasten them to the
board. The wire wrapped on the underside of the
sockets will hold them in place.
Before you start to wire wrap, label the
components and IC sockets on the underside of
the board. Remember that pin one on a IC will
vaiy depending on how you view the chip (top or
bottom). Now you can start wrapping. I prefer to
use pre-cut, pre-stiiped wire but thats entirely up
to you and your budget. Each time you wrap a
wire, mark the wire on the schematic with a
yellow magic marker. This will insure that you
do not miss any connections. Because the GT Is
fairly small and has few Integrated circuits. 1
decided not to run solid Vcc and ground busses.
You should wrap the Vcc and ground wires first
before any other signals and you may want to
double up on the ground grid to Insure noise free
operation.
Alter the wire wrapping Is complete you
will need to mount the board In the case. You will
have to use one half Inch spacers to provide
clearance for the wire wrap pins. I wont go Into
detail as to how or where you should mount the
power transformer, plugs, switch, fuse holder,
etc. Keep in mind when you are wiilng for 120
volts ac to be careful and provide proper
clearance where needed.
The last Issue I want to discuss Is pails
and where to get them. All the components for
the GT can be purchased from Jameco
Electronics except for a few odds and ends like
the piezoelectric buzzer and power transformer
which you can pick up at your local Radio Shack
store. All of the parts used in the GT are standard
off the shelf components and can be purchased
just about anywhere. You may want to shop
around for the best prices but I think you will
find Jameco Electronics hard to beat for this
project.
As for the keyboard. I use a JE1015 from
Jameco and it must be used In the XT mode of
operation. I have not tried any other keyboards
on the GT but if It is XT compatible, it should
work. The monitor I use is a NEC JB- 120 IMA
character display. If you shop around, you should
be able to pick one up for about $80.00. Just about
any standard composite video monitor should
work with the GT.
Although any XT compatible keyboard
and any composite video monitor should operate
correctly with the GT. I cannot guarantee that
they will. All I know for a Tact is that the JE1015
keyboard and the JB- 120 IMA monitor work
properly with the GT.
Well, that about does it for the hardware
portion of the GT. Next month we can all change
hats and become programmers. As I mentioned
at the beginning of this article, you don't have to
be a programmer in order to build a functioning
GT terminal but you should at least be familiar
with the software in order to exploit the GT to it's
fullest potential. See you next month.
5 000000 HI
i i I r
'68' Micro Journal
November's?
51
t b r
OSC 12H
MV WF'
741 37361
74L573M
ir.
7415I38A
■ml S73A2
«"!
^mi^' tTȣc7 "mtor;'
74LS13BB
13.
•HI
■^oianiiq
I ,..: mitiii i
il
3^iWfi
MC68B09E" "" '■ ' SY6545A
rnfmmtffi™^ ^
W i --J isiinn i?J»iJ3ii|?5|?I lflg!iiifi§!£££ '%
>A-r
imama
mi w
74LS7S
untiii umiu Hifills U"l~
I fWftvK^ 1 1 vtmm i HB Win™ Sir*
TETETFF
74LS2«b 74LSIS7D*U 74LS157Ciy 74LS157Btt;
li'isiuil MMJgj Iwaaaif taJjJrf
Itt uuut i iMjjgl laJJJil I«JJJrl Mm
ai «%*. ♦. «%*. «%
I BHHH Mi tm fsfi -jn
RAM (62256)
74LS1S7A!— •
tmniL
itsTlfllt
74LS1BS
ISBiEHlt lllllilliliil
ROM (2764) _
p€, i*-***-
i ■
I
aae«
II B
a *
':*
$
—
*-
s
9
-8
1
| .! t>Bssia* it
L 11 L1J1JJJ1 li L Lar >
MC68B21
i uunu ii
M
P f+ttwt
» ■g I I (ii 1 1 1 1 1
74LS1238
"J
Q
llllill!
■ N
t "
i ?
i ;;
74LS123A
|Jy|
I -S Illlttll U fl B
iinm
iS-fl
SY6551A
urn l
74LS16*
■ I IM
2
.i.
.B74LS73B2
-Wttfc-
1 1 mm \
J
^
If
!(5Sg CIEI
_ idiii > 1 mil
2
IS
I
mis
52
November 'B7
'68' Micro Journal
Bit-Bucket
Continued from Sept. 87
A PL/9 Interface for ISAM
by: Martin C Gregorie
10 Sadlers Mead
Harlow. Esicx U.K.
/' mu up ui let paxaMtar ptr/lth pair •/
proodura laaaparaBllntagai' .lcb.n. ptr. lth)i
lntagar if
l-n'2;
Icblll-ptri
lcblLD-lOi,
■ndpcae/
/• denial* Uit langtn or * ntrln<f •/
prccadura laaa ltlxbytl .atrl-j
lntagar ni
r#-0;
•Alia atrial n-n«l;
andprec ft."
/' copy oylaa converting to uppar C4M (flla apac) •/
procMuro lsuctvy (byta .a,.dj lntagar longjthl i
byta CI
lntagar 1;
i-0<
wMU l<l«igtli
Bag In
o-a(lli
lr O-'a .and cc-'z than c^?-»20j
1-1. li
ail>-0:
drcoe .df
/•
II
c io—nftd rroA th* .c
paraMai.r ■/
procadura 1 tupai Ibyta . CBtidl
lntagar r;
If J.cavaK.Mrot Uum
r-*.latrt
•la*
r-t . iapo* *.cand- . Ilrit;
Ij»t*g*r r;
/■ elHt tha let) ■/
puoalurt luaclilrllnttgtr .lcbM
lntagar 1;
1-Jj
rapaat
1-1 H/
until 1>2«<
/* unalgnod ! '/
aatup
Cor ready and foroat */
pmcadtir a laaaaatupdntagar .let), ldi byt* .action, .duo:
lntagar rlon, klanw
laaiacl.arl.lcbt;
lcto(lll-ldi
laaaparml ,lct>,«. .Icbll J) .2);
l*aapar*n(.lcb. I, .act Ion, 2) i
laaaparaal.lcb. 2, iuamcy l.nua, .lcblltl.laaB_ltbl.nna
Uaa.itbl.naa*|):
IcfttMI-rlani
laaacaraat.lcB,}. .lcb(24).2>;
la>l22>-tlani
/■ >=oaEj.<-, a bay »lth a raoorn •/
prooa&ira aatejlicyt* .k«r. -ract lntagar lth) »
lntagar l.r;
1-Q)
>«Ua Kith .and kaylll -*nd raclll
Bagin
It kayllloraclll tIMR r— 100; /■ lay
1-1. li
rt
By: All of us
u»r lntarraoa procedural
prooadur* dbatatua (lntagar .iebti
inttgdr lcb(12];
prooadura rajdyOntagar .icb, ldi byla .iuaai 1/ftagax rlan. Man) ;
l**m»tup<.lc&. Id, .lardy, .mm, rlan f k.l*n);
li**Mcto,/
•ndptoc dfcat»t\u( . Icb);
peoevdura flniah (lntagar .icb);
i«i^«ru<.ld),., .lifln,_>)j
iaab(,lcb»f
dbat*tu*|.lcb).r
i):
prouaduxa *bort (lntagar . lebjj
lai-rn rtt|. Icb, 1. .iulK.2l 7
liu|. Icb) j
tmdpFT*. <U»t*tua(..cb»:
pnaaadur a poaltlondntagar .left, byta
lntagar K/
k-1 .vu-po ■ ( , tad ) j
iatu*>arM.(.lcb, 1,a,2)i
II a-.fatrt Own
l«uparu(,lcb, 5. .Oad.iau _lth< .oodl ) i
1C .cad-.flnt .« .oad».laat .or n-.latrt titan
laa-t.lcb)
alaa
lcto(12)-t01i /■ rapiy 2fll~vrong «arb •/
: dbatatu* | ( IctoJ ;
pnevduj* obtain (lntagar ,lcb: byta .«a,,rfch
int«gv ptr;
icb(i2)*C(
ptr*lunpoa (.C3TMJI;
If .ci»G«.fir*t .or .otO-.laat .or ptr-.latrt than
poiltloM .Icb, . ca-ai :
If dbautuit.lcb.-O Uttn
bag In
If .nW.lnt chm
pt-r— liuapOM{ .prawl<xi*l :
lr .cakd*.flrit .or ptr-.latrt tlMn
pt r-1 aaapa a I . nmx. t) ;
luflparWl.ietw l.ptr,2| *
I)0{hihI . lcto, 5, . ne. lab 124) I j
lam(.lcb);
andi
If l.cadc.rirat UMf)
If dblt«tua(.lcb)-0 than
lcb(12l-match(.cakd, .r«c.lcb(22j)f /• th* right rw
• tatuaf.lcbl;
prooaoiira «tora|lnt»g«£ .ld>; tn/ta .rack;
is*<sp«ru4,lcb,l, .ludd, I);
luapt tH 1 . Icb, J, . rac, lab (24 1 ) t
laaJH.lcbt.
•fidpeoc dbatatual.lcbt;
proc«fur« ar«»a(lntao»r . lcb»r
laa^kari-«(.lcb,l..lwS«l,2|;
laatai.lcblJ
•ndbXDC dbatAtui {. lebt ;
ra Modify < lntagar .lc*>: byt« <rtc|;
•raaat.lebu
If ab*tatua|.lcb)-0 than
»tor*|.10b, racl
aitdjtcoc dba titua |-lcb»
(irtoAm raorganiaa | lntagar .icb.).
iaaapa r«a(.lcb, 1, .lar«o,2|;
laMl.lcb).
■ndproc dbatatui(.lcb|i
Ctfw*iur« to nut (lntagar .teb. ldt byta .ntnai
1/ltvgar rent, rlan, klan J
laa«aatup|. Icb, Id, . lacrt, .oua, rlan. klan) t
Icb U3» -rent;
laaj^MrM(.lcb,4. .Icb 123), 21)
lMMt.lCbtj
: dbat»lu»#MCB)j
60' Micro Journal
November "87
53
Dear Mr. Williams,
Last month 1 was pleased to discover the existence of your
journal. Like most of your readers, I loo am a die-hard.
Back when IBM stormed the country, I was angered thai Big
Blue chose Intel processors for their line of personal
computers. Everyone who reads your journal knows that
Motorola makes a superior microprocessor, but you know the
market. It is like a swarm of lemmings that all follow IBM
like it is the only computer company. Don't gel me wrong.
Good things came fonn the PC/XT and PC/AT. Five years
ago I never would have dreamad lhat 1 could buy a Mbyte
hard disk for less than $300.00. They are pretty good
machines. Everyone knows that it could have been a much
better machine if ii had started out with an MC68000 engine
under its hood.
But even though I am still mad at IBM to this day, I find
relief in discovering your journal. Your subscribers are a rare
group of people just like me. It is lonely out here. Most of
the people I know who are interested in computers are either
Display-Write Crunls or Lotus Zombies. That is little better
than being completely computer illiterate. The days of the
computer hobbyist seem to be dwindling (even though "we"
built the industry). But 1 know there is hope. I must admit,
1 own an IBM clone. But 1 also have an MC68XXX software
development package form SDS Inc. which 1 have big plans
for. I am hoping that a few of us die-hards can gel our heads
together and make a big splash in the micro-computer
industiy.
Just a little biographical information. I have been a
computer hobbyist ever since 1 dropped out of graduate
school in wildlife biology in 1979 (and abandoned my
Master's Thesis on Lizard Ecology and Behavior'). After
doing laboraloiy analyst work and being unemployed for
several years I am now a computer systems analyst in the
chemical manufacturing industry. This September will mark
my third year of computer work for my company. 1 now
have a hand-full of systems running out in the plant. 1 have
many veiy promising ideas and some of those will be filed
with the U.S Patent Office. My experience is primarily with
software but I am veiy interested in hardware too. 1 would
like to use your journal to reach others like myself who are
either amateurs or professionals with big commercial goals.
If any of your readers are interested in developing and
marketing some ideas (using Motorola parts of course) have
them write to me at:
Advanced Process Control
Rohm A. Haas Texas, Inc.
Deer Park, Texas 77536
Enclosed is a check for a 3 year subscription to 68 MICRO
JOURNAL. Thank you.
Sincerely,
Paul K. Mckneely
n
DC
:aE
ii-u=
50 W«t Hoovaf Av*.
Mftu b Anions 85202
T»l. (602) 962 5559
F*i (607) M 2- 57 SO
Contact Mark Stopfton*
Contact: Cora Pabouetticftt
rAMILT Of ZWDU$TK1A2. »
IH «AA3H On/XI
WESCON BOOTM.-SGO?
QTUS FOtTQRMS
NUA, AX, September 25. 111? — GUPAC announce* lta antiy In
tha ayataa* hueioeaa with tha introduction of a new fasily of
vereetlle ■icrocosaputar ayataeu alaed at tba industrial
suuket place Tha CE30CMV ia a powerful real-tia*. sniltl-
taaklng aicreconputar ayataa in a ruggad and compact alogla
height Eurocerd package* that allowa tha uaer to Monitor,
teet end autouta procaaaaa in a varlaty of harah industrial
and military environment a.
Tba GXSCOMP ayataa la iotaodad to be uaed aa a pcocaaa or
call controller in factory automation application* Tha
CUC0MV ia ideal for u*a aa Imbedded computer* In
intelligent mechina toola and apaclellied inetranajitatlooa.
The GE3COKP ayatemj ceo alao be uaed aj total hardware and
aoftware deveiopwant worketatioo*
The CXSCOfW effera the highaat level of processing power for
ayatame of it* claaa and a lie At the low end of (XSPAC'i
offering la the CMCON? IJ00-M which uaea an * MBi Kbit
(8000 Blcropraceaaor and coaea equipped with two 1 Megabyte
3.3" floppy diak drives end 512 Kilobytes of RAX The most
powerful eewjber of the CCSCOHP family n the GBSC04P 8340-
P/HT which feeturaa a vary high performance 32-bit (8020
■lcroproceaaer running at 16 7 MHi with a GBBBl arithmetic
co-pcocaaaor. 2. S Kagabytaa of RAH. 1 Megabyte of A. 5* floppy
dlek atoraga end 40 Magebytee of herd diak aterage. Severel
variatiooa of thaaa ayataa* are offered hy GXSPAC depending
on the amount of proceaalog powar oeeded end tha required
dlek/auc atoraga capacity, The opeo Q 64 hua architecture of
the ayataauj allowa memory expaneiena up to 32 Kagabytaa.
Th* GXSCOMP aystaa ia aupportad hy tha Os>9 diak operating
ayataa which ia well accepted and familiar to tha automation
industry, 08-9 faatuxaa an advanced "UNIX-Like" atructura end
fore*. A apecial library allowa 03 9 to run program* written
for tWXX in C. Unlike Umxx. however. OS-9 feeturea a lean end
feat modular atructura that can aeeily be put into ROM for
dlaklea* ay a team . The reel-time, aultl-tesklng nature of OS-9
perailta tha uaar to divide hla application* into itviril
concurrent taeka, while allowing raal-tiee reepanae to
outaide aventa Tha modular, wulti-uaar architecture of OS-9
pereilta the addition of a new uaar to the ayataa in no tlee
Depandlng on tha load of work, the GAsV^OKP ayataa will
support up to 16 vaara on Una aimultanaouaiy
Th* Gascon* le delivered complete with tha diak operating
• yataa, e screen editor hcid esteabler symbolic debugger,
linkar. and a C compiler. Other high level language
intarpratara or ccaspiiera are optionally available for
Fortran, forth, Basic and Peacal.
54
November '87
'68' Micro Journal
X kay feature of the dSOOHP lyitw la Its open G-6* bua
architecture which a Hove a degree of customization which ia
uaaurpeseed in tha industry Tbia cuatoaixation ia eeaentiel
lo order to meet tha specific reqalreaaente of Mit industrial
applications, ror instance, a GtSCOHF atay ba configured aa a
data acquisition ayataai by adding analog i/o modules end
additional nonvolatile atorege memory. Or, by adding motor
cootrollar cards end industrial I/O interface*, tba CX3COHP
C4» t>« tba main controlling unit of a Billing ei;hir.»
A QK9COB0? ayataai typically ptovidee I unused a lota, each of
which can accapt any ona of the ISO fl-44 board level products
ia GHPAC's catalog, tba GSSCOMP will sj so accapt G*E4 bua
board level products from any of tba mora than 20 i&dapendent
G-6* hua vendors . Tha G-$4 bua ia a second genaration
• icrocoaqputar acchitaetura aimed at midranga induatrlal
appllcationa.
dSCOxp system* ara daaign«d to coaaiunicata with tb* operator
with a standard CRT terminal It ia alao poaalbla to connect
grapbica cacda into tha ayatem to display high raaolution
pictorial Information of (40 by 460 pixels to 1024 by 1024
plxala in 236 colors out of a palette of 262.144 Tha usar
can easily inatali one OK mora of these graphics controllers
into the seme backplane to aleultaneoualy control eultiple
displays
Another unique featura of tba QESCOKF syataog la tbair
nat working capability- Using CXSSCT. a proprietary oat work
protocol froai GK3PAC, up to SO CXSCOf* ■yitau caa talk to
ona anotbar over 3,000 faat of eoexial cable. Tha Network
oparetee at 100 klloblta par aacond arid achieve* vi,y high
throughput thank* to it* auparior C5M*7C* {Collision Sana*
Multiple Accaaa / Collision Awoidanca) arbitration and it*
Direct Misnry Accaaa ops ret ion. CESNET's coat par node ia a
fraction of tha typical coat of mora publicised networks auch
»a Btbaraet or HAP
A waraion of tba GRSNIT controller board ia to be released by
GXSPAC for tba WX bua. Tbia connection will *i low dSCOMT
system* to perform aa a front and processor with VMS baaad
auparvleore in a hierarchical, dlatrlbuted processing
acchitaetura Tha network ia totally integrated into the diak
operating ayataai. thus allowing transparent accaaa to all
rasovrcaa. Tor Instance, all graphic screens, diak atoraga
end coaamjnlcatlon* porta ara accaaeible from any processor in
the network
for uae Ia the moat aavara environments, where s»ch*ntc*l
diak diivii are not allowed, tha GXSCOMP can run without a
disk. In tbia mode of operation, the ayataaui can boot from
the operating system* end appllcatioo progcama located Ia
CMCH. The CZSCCttT 1* alao aapandabie to use a bobble memory
cartridge ayataai for uaa in tbaaa environments . Oaing GX5HTT.
a disk based GXSCONf located in a clean environment can aarva
a* fila aarver for aewerel AOH Oeeed CISCO"? eyataew on tha
""" '•""» ""' FOR THOSE WH>
The GateCOam* eyetem uaea a modular arcbltacture with all vit*l
function* readily accaaaihle bmbAod the front panel for easy
aarvica end eapeaJion The ayatem i* based on the 100 by 160
millimeter (4* x S. 23" t G-64 bus Burocard end featucaj a
rugged DIM 41612 pin*-in-eecket backplane architecture The
email form fector of tbe card* and tba auperlor DIM
connector, make the GE5C0MT particularly reaiatant to abock,
vibration. and corrosion du« to itibomi contaminate*
CISC 0*0? is packaged in a table eacloaure for development or
laboratory environment or in a 19" rack for mounting in a
Him ancloaura or directly into tha application. Bach GBSCCM*
ayatem includes e 200 Matt power aupply
Other versions of tba GX8430MP ayetam*, ualng tbe 1026<
■ Icroproceaaor and the N3-0O9 operating ayatanui . era eleo
available from G1S»AC .
GtSCOtC? syatama *re eveileble now, prices atart at J399S for
aingla quantity orders of tha baalc eyetem configuration. 0D4
discounts are available for large quantity order*.
lyJ/WINDRUSH
>ftcn>Sj«IB LB
COLOUR GRAPHICS AND GKS ENHANCE
MCS8O20 WORK STATION
Windrush Micro Systems Limited are pleased to announce the
immediate availability of a high resolution graphics adapter lor their
Omega work station. The Omega Incorporates the Motorola 32-bit
MC68020 processor with the MC68681 maths co-processor. The
OS-9/68K mulll-user/mutll-tasking operating system fully exploits the
advanced leatures of the Omega ha/ttwve.
The colour graphics adaptor provides a 768 « 576 * 4 blts'puel
resolution. Up to sixteen colours Worn a pallette o) 4096 colours may be
displayed simultaneously' The adaptor Incoporates 512K o) dedicated
memory and the Hitachi HD63484 Advanced CRT controller. The
adapter Is supplied with a complete terminal emulation device driver lor
OS-9. This enables the user to dispense with the normal serial terminal
required for the main user. Also Included Is a graphics Interlace library
which enables the uaef to plot lines, cades, rectangles, etc as a seiies ol
high level commands. A complete package which includes the NEC
Multisync colour monitor, a iracfcerbail. and a keyboard with 24 function
key* costs £1680. When added to the base price of the Windrush
Offlaga with OS 9/68K Professional the total system price comes to
£46507
The Omega Is supplied with five RS-232 ports which may be used to
accommodate additional users or used to drive serial printers. Also
included as standard Is a 20 Mb Winchester hard disc, a 1 Mb 3.5 inch
floppy disk, 1 megabyte of zero wait-state, non-volatile Static RAM. A
paraHel pi inter port and a dock calendar are also included.
GKS (level Oa) as defined in British Standard 8S6390 is available tor
£1250. The GKS kernel Includes "C language bindngs.
Trie Omega Is further enhanced by options which include an additional
megabyte of memory, a nine pet RS-232 interface and an IEEE4S8
Interlace wrth a G-64 bus e«P»n stori arJapior.
•I NEED TO KNOW
68 MICRO
I JOURNAL*
'68' Micro Journal
November '87
55
C ClaSSifi6dS As Sunmittcd - No Guarantees J
AT4T 7300 UNIX PC. UNIX V OS. 1MB Memory, 20 MB
Hard Diik. 5" Drive, Internal Modem, Mouse. BestOfferGcts
It.
S+ System with Cabinet. 20 Meg Hard Disk A 8" Disk Drive
with DM AF3 Controller Board. 1 X 1 2 Terminal S4800.
DAISY WHEEL PRINTERS
Q ume Sprint 9 • $900
Qume Spiinl S - $800.
HARD DISK 10 Megabyte Drive -Seagate Model #412 $275.
3 • Dual 8" drive enclosure with power supply . New in box .
S125 each.
S - Siemens 8" Disk Drive . $100 each.
Tuno Outpost II, 56K. 2 6" DSDD Drives. FLEX. MUMPS.
$495.
TELETYPE Model 43 PRINTER - with serial (RS232) inter-
face and full ASCII keyboard . $250 ready to run.
SVVTPC S/09 with Motorola 128K RAM, I-MPS2. 1-Paralell
Port. MP-09CPU Card - $900 complete.
Tom (6 15) 842-4600 M-K 9AM to 5PM EST
• *•
I Want To Buy
GIMIX #68 DMA FDC. Price and details to
Roger Sleedman
RMB9010OMEOHwy
Sarsfield 3883. Australia
• *•
PT68K-lA(SameSBCasMustang-08/A). 12MHz68008.768
K RAM. 2-80 Track. 25M Hard Disk. $1500
Martin Bose (415)351-7297
••*
SWPTC 6809 with DMAF2 Subsystem, two Serial Ports.
Televidco 950. NEC 8023A Printer. Milgo 300/1200 modem.
All fot$900.
Al (214) 262-1286 - 7pm to lOpm CST
!!! Subscribe Now !!!
68 MICRO JOURNAL
OK, PLEASE ENTER MY SUBSCRIFITON
Bill My: Mwrcrard □ VISA □
Card « Exp- D»ie_
For
1 Ye« 2 Yean
Enclosed: 5
3 Yean
Name
Street
City
State
Zip
Country
My Computer [»:
Subscription
Rales
U.S.A.: 1 Year $24.50, I Yean S42J0, 3 Yean $64.50
•Foreign Surface: Add $12.00 per Year to USA Price.
•Foreign Airmail: Add $48.00 per Year to USA Price.
•Canada & Mexico: Add HM per Year to USA Price.
•U.S. Currency Cash or Check Drawn on a USA Bank !
ZZ
68 Micro Journal
5900 CEsandra Smilh Rd.
FOB 849
Hixson, TN 37343
Telephone 615 842-4600
Telex 510 600-6&30
Clearbrook Software Group (604) 853-911 8
CSG IMS la THE full featured relation-
al database manager for OS9/OSK.
The comprehensive structured ap-
plication language and B +Tree Index
structures make CSG IMS the ideal
tool for He-Intensive applications.
CSG IMS lor CoCo2/3 OSS LI/2 (single usar) $169.95
CSG IMS for OS8 L2 or 68000(multi usar) $495.00
CSG IMS demo with manual $30
MSF - MSDoi File Manager for CoCo 3/OS9 Level 2
allows you to use MSDos disks directly under 0S9.
Requires CoCo 3, OSfl 12. SDISK3 driver $45.00
SERINA - System Mode Debugger for OS9 L2
allows you to trace execution of any system module"
set break points, assemble and disassemble code and
examine and change memory.
Raqulrea CoCo3 or Gimlx II, OS9 12 & 80 col. terminal $139.00
ERINA - Symbolic User Mode Debugger for OS9
lets you find bugs by displaying the machine state and
Instuctlons being executed. Set break points, change
memory, assemble and disassemble code.
Requires 80 column display, OS9 L1/2 $€9.00
Shipping: N. America • $5, Overseas ■ $10
Oearbrook Software Group P.O. Box 8000-499. Sumas, WA 98295
OS8 It a Iradtmtrt o* Mlcmwri Syilcmi Corp., MSDoi n i lr»d«mjrt cr MigotoW Corp
56
November "87
'68' Micro .Journal
K-BASIC*
The Only 6809 BASIC to Binary Compiler for OS-9
FLEX or SK*DOS
Even runs on the 68XXX SK*D()S Systems*
I Hundreds Sold at
Suggested Retail:
$100.00
I
• 6809 • OS-9™ users can now transfer their FLEX™
Extended BASIC (XBASIC) source files to OS-9, com-
pile with the OS-9 version and run them as any other
OS-9 binary "CMD" program. Much faster than BASIC
P'ograms.
• 6809 - FLEX users can compiler their BASIC source
files to a regular FLEX ".CMD" file. Much faster execu-
tion.
• 68XXX - SK'DOS™ users running on 68XXX systems
(such as die Mustang-08/A) can continue to execute
their 6809 FLEX BASIC and compiled programs while
getting things ported over to the 68XXX. SK'DOS
allows 6809 programs to run in emulation mode. This is
the only system we know of that will run both 6809 &
68XXX binary files.
K-BASIC is a true compiler. Compiling BASIC 6809 pro-
grams to binary command type programs. The savings
in RAM needed and the increased speed of binary
execution makes this a must for the serious user. And
the pi ice is now RIGKH
Don't get caught up In the 'learn a New Lan-
guage" syndrome - Write Your Program In
BASIC, Debug It In BASIC and Then Compile
It to a .CMD Binary File.
For a LIMITED time
save over 65%...
This sale will not be
repeated after it's
over! *
SALE SPECIAL:
$69.95
SPECIAL
Thank-You-Sale
Onfy from:
c
S.E. Media
p
i
5900 Cassandra Smith Rd
Hbtson,Tn 37343
Telephone 615 842-6809
Telex 510 600-6630
A Division of Computer Publishing Inc.
Over 1,200 Titles • 6aor>68o^6aofX
* K8ASIC wtf nn ixxfcr 68XXX SK'DOS n btuUdi mode for the 6809.
Pliac aijoa to cr*^e wttul octtr.
68' Micro Journal
November *87
57
SK* DOS
r/vC*w"i:D05" lOr 66000 #^T»l«aiKX»i -n
* Induitntl Control
* duuntxs l Jt»
* Education*! Computing
* Sc*t>Mic Computing
* Number Crunching
* Dediciiod Sviiimi
* Turnkey Syitirpi
* Oiti Collection
* Singlft board Com putrn
* Suvoofnted Campy t**t
* Gr4pri.CS W0rlc5t*T<0nt
* CWol * kiOd Systemi
* Adv»nc*d Kotatoy.n U*»
SK* DOS it * vnflVuw* di>k 0<W*x*nfl iviit™ '<X wxnpu iff » using MoiOf all 3? bit CPU*
atch « th* 68008. 66000, 66010. too 68020 M prcwitftt the power or * lull DOS yet i>
tintple «nd m»v to ui*. and will run on tv«l#m» from 3?K to 16 megabyte!. B*e*w*e
SKiDOS ii usklv nnpltm*n(Kl on i npw .yiiom. ** t4ll H "The Gemf** DOS" which
•Howl P'OOWti i vwiltvn lor out lyjtem 1o be tun on many olherl
SK*DQScofr»w w»1h ov«* 40 Com r>vjn0S and iv4tB*n PfOy »/nMnckidinq ■ fi809imulitof
which jIIowi 68K SK • DOS io fun *ppt «yii on pr og/amf and lanfruga developed (or 6009
SK*-DOS and other »yit«mt Atsemblcff, ed'tO^ *nrj higher level tJiw»j»9e support «rr>
fvkjleble r*om third P«ty toftwsre vendor* end tnnju^ph public domain SOltware.
SK«DOS tteveiiable for i.«o»«-copyor dulci utei. n well mOEM llceniing, Sirtole cooi«i
cost $126 (inquire et *o eveileble lyJlemi), Extremely iltrective OEM \K*minq termi ere
el«o 4«4ileble,. An optionil Configuration Kil contains 4 detailed ContiQiir«tion Manual
and iwo diiki ol «MifM code lor *V*»tn> adaptation, including source code tor a jyrtem
monitor/ debug ROM end other program* useful Irx adapting SK* DOS io new tvttemt.
SK*DOS
ti tvtttaht* tram
StarK
, v SOFTWARE SYSTEMS CORPORATION
FO.tOXlW MT KISCO.NY l<H4t OM.'JIIOIS)
TELEX H0W:KJM
INDUSTRIAL PASCAL FOR 68000 AND 6809
PCSK is a package thai generates code lor a 68000 sen«s processor
running on a 68000 development system II includes the compiler,
assembler, linker, host debugger, target debugger, and screen editor,
all Integrated together and controlled by a menu driven shell program
Source code is included lor the runtime library and many ol the
utilities Host operating systems supported are OS-9/68000
(Mlcroware) POOS tEyrrng Research), and VERSAdos (Motorola)
PXK9 is a package that generates code tor a 6809 processor running
on a 68000 development system Includes all ol the features ot the
PCSK package above, except for trie host debugger Host operating
system is OS-9/6800D
I WANT IT. WHERE DO I GET IT?
For more information on erlher of these two products please contact
Certified Soltware, Soulh East Media, or one of our European
Licensees
OEM LICENSEES
Gespac sa, 3. chemin des
Aulx, CH 1228 Geneva/Plan-
les Ouales, Swilz. TEL I022)
713400. TLX 429989
PEP Eleklronik Sysleme
GmbH Am Klosterwatd 4.
0-8950 Kaulbeuren, West
Germany TEL (08341) 8974.
TLX 541233
Ellec Eleklronik GmbH,
Gallleo-Galllei-Slrasse. 6500
Main; 42. Postlach 65. West
Germany TEL (06131)
50031. TLX 41B7273
DISTRIBUTORS
a C S Microsystems Ltd
141 Uxbridge Road, Hampton
Hili. Middlesex, England. TEL
01-9792204. TLX 8951470
Or Rudolf KeM GmbH, Per
phystrasse 15. 0-6905
Schnesherm West Germany
TEL 062 03/6741. TLX
465025
Elsoft AG. Zelgweg 12.
CH-5405 Baden-Daettwil.
Switzerland TEL
056-833377, TLX 828275
Byte Studio Borken. Buten-
wall 14. 0-4280 Borken.
West Germany TEL
02861-2147. TLX 813343
CERTIFIED
SOFTWARE
CORPORATION
616 CAMINO CABALLO. NIPOMO, CA 93444
TEL: (B05) 929-1395 TELEX 467013
FAX (805) 929-1395 (MI0-8AM)
SOFTWARE FOR G80x AND MSDOS
SUPERSLEUTH DISASSEMBLERS
EACH J99-FLEX $101 -OS/9 S100-UNIFLEX
OBJECT-ONLY vattlont: EACH ISO-FLEX.OS'V.COCO
«nor actively gorwaia source on cHH with labels, include iret. binary coiling
spec it y «H».1.2.j , ,5,a.94S02 Winn or ZaOJBOBO.S vwtien
0&9 wrsoo al« procMMi FLEJt torrna ot-M Ma ufilor DS-9
COCO OOSaveilsole In 6800.1.2.3 SB, 8/SKtf version (not ZBO/8080. SI only
NEW: IS010 disassembler *1D0.FLtX.OS/9.UNIFLEX.OSJ9-e8K.lViSu0S
CROSS-ASSEMBLERS WTTH MACRO CAPABILITIES
EACH S50-FLEX,OS/9,UNIFLEX.MSDOS,UNIX 3/1100 ALUI200
st-city ieo>.esoMisoi,eeo4.eeo5.eaos.zs.zeo.B04toosi.ioBs.8eoio.32ooo
modular crossawemnSrt In C. with »»<w.r*»o ututa* HOW: 0&3-6B K
win tataddrtajnalfSOaacKflOOIcy 3. »300fc«atl
DEBUGGING SIMULATORS FOR POPULAR 8-BIT MICROPROCESSORS
EACH tTS-FLEX S100-OS/9 S80-UNIFLEX
OBJECT-ONLY «erSlon»: EACH ISO-COCO FLEX.COCO OS<
irneraclNefy tirnulale processors. hduOa &u****&i »ofm#nng.a^ary eAtng
speoiy k» eeooii, (i4)seo5. eso3, M09 osja, iec flex
ASSEMBLER CODE TRANSLATORS FOR 6502, 6800/1, 6809
6502 U 6909 175-FLEX WS-OS/> $«0-UNIf LEX
$80O/l 10 5909 » «809 10 poaWoo- iorj JSO-FLEX |75-06r» J60.UNIFLEX
FULL-SCREEN XBASIC PROGRAMS wfu> nimx control
AVAILABLE FOR FLEX, UNIFLEX, AND MSOOS
DISPLAY GENE RATOFVDOCUME MTOfl »!0 » lourca. » 2S wlthoul
MAILING LIST SYSTEM (100 t'louic*. SSOolinoul
INVEKTORY WITH MHP ttOO mf'aourca. ISO wtlhoul
TABULA RASA SPhEADSMEET 1100 w/aoma. ISO wtirxxff
DISK AND XBASIC UTIUTV PROGRAM LIBRARV
S50-FLEX S30-UNIFLEX/MSDOS
adit Olsli MOOT*, tort fAnWory. malmilin nustar ao*oo oo a* son.
iWQni srm or all 01 BASIC pnxt»T>.»»( BASIC OOOTKn. «tc.
nooFLEX vankn reiuda »on arxJiwaojoncai only
CMOOEM TELECOUMUNCA TIONS PROGRAM
*100-FLEX,OS/9,UNIFLEX .MS-DOS, OS/9-68K.UNIX
OBJECT-ONLY vanlan*: EACH ISO
menu-Oivan w»l «TF»\* moos. Us KM. MOOEM7. XON XOFF, etc
to COCO arrj rtraOOCQ *™» ravnal COCO nulam pert op to 2*00 BJuJ
DISKETTES & SERVICES
5.25" DISKETTES
EACH 10. PACK S12.50-SSSD/SSDD/DSDD
Anwrtaivmaoa , ouarantaeo t0O%ou«IDy. with Tyvakiacuu. huo "Vs, «nd fc
ADDITIONAL SERVICESFOR THE COMPUHNG COMMUNITY
CUSTOMIZED PROGRAMMING
wa wii ctatwnira any of eia- piooranvs demcAma n tils advwfsamanf or m our
ixokixn lor apariafTTi arstcyrwr uh or to oovw new p/ooaasn: iha &&<ao
for suc*i oawnuaoDn dapenos upon ew iruAatBUUTy of tha irtndiScaAam
CONTRACT PROG RAMMING
we will create new uopansi or fnoo>ty existing prooivna on a contract oasis,
a scev^oa we have P T owded tor ower twerfy yDare,tre can%xtvt onwtw^ we
njveiMki'Jwo coreoct pTDgrwrvM^ ftctuds most popiAar (nadets ot
mail a ieifs , nejianB IBM. Burro^tw . IMvsc. Hone-yweJ. most popular
ir»rfw» ct i »u»nm rttu*^ oec BU OQ «= AT»T. woman
popular brands Ot mlcrocomput era. IncAjOno ee(KVt . 6009. ZBO. 6S02.
69000. using moat app-DprOde avtBuagaa ani u v — m inu a ytami . on systsnis
langing In size pom EerDe sav. 1 - llaurfcavrv 10 single ooftT) cor* osan :
me efvaraa lor contract prognmmng It usually by the hour v oy Vie task
CONSULTING
weoffwawoeraT^pof bumm andteoS^cal OTeu^g aannam. aieaasng
sanwws.soVve.toBnfc^. anddeiaT^ on any topic naaaat to aknpusn ;
Computer Syalema Consultants, Inc.
1454 Lalta Lane, Conyet*. GA 30207
Telephone 404-483-4570 or 1717
We take orders at any lime, but plan
long discussions slier 6, II possible.
Conlsct us about catalog, dealer, discounta, and services.
Most programs In source: glue computer. OS. disk size.
25% oil multiple purchases ol same program on one order.
VISA and MASTER CARD accepted; US funda only, please.
Add GA sslea lax (If In GA) end S% shipping.
(UNVLEX m TKtmkal SyEMflw Ccnu*M£ OSU Ulotxm a. COCO Taney MSOOS IWiaM
S8
November's?
'68' Micro Journal
THE 6800-6809 BOOKS
..HEAR YL NBA*
OS-9
User Notes
By: Peter Dibble
The publishers of 68' Kicro Journal are proud to
available [he publication of Peter Dibbles
0S9 osn WOTtS
Information for Che BEGINNER to the PEO.
Eegular or CoCo 0S9
Dalng 0S9
HELP. HINTS, PROBLEMS, REVIEWS. SUCCESTIONS, COMPLAINTS.
0S9 STANDARDS. Generating a New Bootstrap, Building a
new System Disk, 0S9 Users Croup, etc.
Program Interfacing Co 0S9
DEVICE DESCKIPTORS, DIRECTORIES. "FORKS". PROTECTION,
"SUSPEND STATE", "CIPES". "INPUT/OUTPUT SYSTEM", etc.
Programming Languages
Assembly Language Programs and Interfacing; Baslc09, C,
Pascal, and Cobol reviews, programs, and uses; etc.
Osaka Include
■ o typing all the Source tlatlaga lit. Source Code and,
where applicable, assembled or compiled Operating
Prograa*. The Source and the Discussions in the
Columns can be used "as Is", or as a "Starting Point"
for developing your OWN more powerful programs.
Programs sometimes use multiple Languages such as a
thort Assembly Language Routine for reading a
Directory, which is then "piped" to a BaalcOS Routine
for output formatting, etc.
BOOK $9.95
Typeset — w/ Source Listings
(l-Hole Punched: 8 x II)
clue Under S5.50
All Source Listings on Disk
1-8" SS. SD Disk SK.95
2-5" SS, DD Disks S24.95
FLEX™
USER NOTES
By: Ronald Anderson
The publishers of 68 KICRO JOURNAL are proud to
make available the publication of Ron Anderson's fUXZ
OSES MOTES, In book form. This popular monthly column
has t-een a regular feature in 68' MICRO JOURNAL SINCE
1979. It has earned the respect of thousands of
68 MICRO JOURNAL readers over the years. In fact,
n'a column has been described aa the 'Bible' for 68XX
users, by some of the world's leading microprocessor
professionals. The most needed and popular 68XX book
available, Over the years Ron's column has been one of
the most papular in 68 MICRO JOURNAL. And of course
68 MICRO JOURNAL is the moat papular 68XX magazine
published.
Listed below are a few of the TEXT files included in the
book and on diskette.
All TEXT files >n the book are On lhe disks
LOGO Cl File toad program to offset memocy — ASM PIC
MEMOVE CI Memory move program — ASM PIC
OUMPCl Printer dump program — uses LOGO — ASM PIC
SUBTEST Cl Simulation of 6800 code to 6809. stow differences— ASM
TERMEM C2 Modem input to disk (or other port input lo disk) — ASM
M C2 Output a tile to modem (or another port) — ASM
PRINT C3 Parallel (enhanced) printer driver — ASM
MOOEM C2 TTL output (o CRT and modem (or other port) — ASM
SClPKG C1 Scientific math routines — PASCAL
U C« Mini. monitor, disk resident many uselul functions — ASM
PRINT C4 Parallel printer driver, without PFLAG — ASM
SET C5 Sel primer modes — ASM
SET8AS1 C5 Set printer modes — A-BASIC
NOTE: .C1..C2, etc. -Chapter 1, Chapter 2. etc.
**0ver 30 TEXT files Included is ASM (assembler)-PASCAL-
P1C (position Independent code) TSC BASIC-C. etc.
Book only: $7.95 + $2.50 S/H
With disk: 5" $20.90 + $2.50 S/H
With disk: 8" $22.90 + $2.50 S/H
Shipping A Handling 53.30 per Book. $2.30 per Disk xt
Foreign Orders Add $4 SO Suifice Mail
or 57 00 Air Mail
If paying by check • Pleue allow 4-6 weeks delivery
' All Currency in U.S. Dollars
Continually Updated In 68 Micro Journal Monthly
Computer Publishing Inc.
5900 Cassandra Smith Rd.
Hixson, TN 37343
'FLEX is a trademark oi Technical Systems Consultants
"0S9 is a trademark of Mlcroware and Motorola
"6*1 * Micro Journal Is a trademark of Computer Publishing Inc.
(615)842-4601
Telex 5106006630
'68* Micro Journal
November *87
59
OS-9
L1 UTILITY PAK— Contains all programs formerly in
Filter kits 1 & 2, and Hacker's kit 1 plus several
additional programs. Complete "wild card" file
operations, copies, moves, sorts, del, MACGEN shell
command language compiler. Disassembler, Disk
sector edit utility, new and improved editions, approx.
40 programs, increases your productivity. Most
programs applicable for both level I & II 6809 OS-9.
S49 95 (SS1.95)
Call or send Self Addressed Stamped Envelope for
catalog of software for color Computer OS-9 and other
OS-9 systems.
BOLD prices are Co Co OS-9 format disk, other formats
(in parenthesis) specify format. Ail orders prepaid or
COD VISA and MasterCard accepted. Add $1.50 S&H
on prepaid, COD actual charges added.
SS-50C
MEMORY LIQUIDATION SALE!
(While Supply Lasts)
1 MEGABYTE RAM BOARD
Full megabyte of ram with disable options to suit any
SS-50 6809 system. High reliability, can replace static
ram for fraction of the cost. S399 for 2 Mhz or $439 for
2.25Mhz board assembled, tested and fully populated.
2 MEGABYTE RAM DISK BOARD
RD2 2 megabytes dedicated ram disk board for SS-50
systems. Four layer circuit board socketed for 2
Megabytes) Special sale price of $399.00 includes only
256kof ram installed (you add the rest), includes OS 9
level I and II drivers for Ram disk, (note: you can re-
boot your system without losing ram-disk contents).
(Add $6 shipping and insurance.)
Please call for answers to your technical questions
concerning these products.
D.P. Johnson, 7655 S.W. Cedarcrest St.
Portland, OR 97223, (503) 244-8152
(For best service call between 9-11 am Pacific time.)
OS-fl Is a trademark of Microwave and Motorola Inc.
MS-DOS Is a Iredomark ol Microsoft Inc.
#
DATA-COMP
SPECIAL
Heavy Duty Power Supplies
For A Imfted time our HEAVY DUTY SWTTCHNG POWER
SUPPLY. TTwaa am 9RAND NEW units. Note that thess
prices are less than 1/4 the normal price for these high
quality units.
S900 CiojTT*™ SfflMl Rd, ttncn, Tn. 37343
Telephone 615 642-4600 Telex 510 6DO€SD
Make: ftstheri
Size 10J x 5 x 2J inch™
Including heavy mounDng bracks and heatank.
Rating: in 11<V220 volu ac (strap change) Out 130 wans
Output +5v - 10 amps
4-1 2v- 4.0 amps
+12v- 2.0 amps
•12v-0.5 amps
Mating (Um&tr. Terminal arj>
Load Rucsm: Aunnsr shoit circuit recovery
SPECIAL: $59 .95 each
2 or more $49.95 each
Add: SI 50 each S/M
Make: Boschert
Size 10.75 x 6v2 x 125 inches
Rating: 110/220 ac (strap change) Out 81 vttts
J
Ouputs +5v - 8.0 i
+12v-2.4i
+12v - 14 amps
+12v-2.1 amps
•12v • 0.4 amps
Mating Cqiun Mote*
Load Reaction: Automatic short dronl rauvery
SPECIAL: $4955 each
2 or more $3955 each
Add: S7JQ SrfH each y
5900 Cassandra Smith Rd, Hbtaon, Tn. 37343
Telephone 615 842-4600 Telex 510 600*6630
68000 68020 68010
68O08 6809 6800
Write or phone for catalog.
AAA Chicago Computer Center
120 Chestnut Lane — Wheeling IL 60090
(312) 459-0450
Tachnlcal Consultation available most weekdays from 4 PM to 6 PM CST
60
November "87
b8' Micro Journal
Stop!
Get a 25 Mega-
Byte Hard Disk
practically FREE
only 1C
•Be Sure to Consider the
SPECIAL MUSTANG-08/A
10 Sale on outside
back cover
'This is exactly one cent more than the price of
the same system - with two floppies - for one cent
more you get one floppy and a 25 MegaByte Hard Disk with the faster
CPU board, additional serial ports and Improved clock!
Includes Professional OS-9™ Version 2 and the $500.00 C Compiler!
Remember - When it's over, IT'S OVER!
We don't know how long this very, very low price can be maintained, don't miss it!
Data-Comp Div. - CPI
68' Micro Journal November "87 61
INDUSTRIAL COMPUTER SYSTEMS
68008 - 68020 VME STD SBC
STD BUS I/O OS9
HILL WEST INCORPORATED products and services are intended for
industrial users of microcom outers who are looking for a supplier prepared
to provide complete engineering and technical support. We configure
systems with com poncnts and software selected or designed to meet specific
customer requirements. We specialise in solving industrial I/O problems. A
full range of seivices is available including system specification, integra-
tion, and installation, hardware design and pioduction, and system and
application programming.
SYSTEMS
BILL WEST INCORPORATED provides microcomputer systems con-
figuiedto maet the needs of particular customer ■□plications. These systems
use 68000 family processor and the OS9(im) operating system. We design
and c«vf gure systems based on VME bus, STD bus, and single board
computers, with processors ranging from the 6809 to the 68020. Disk based
and ROM based systems ate suppoiied. Systems for development and target
applications can be supplied.
I/O EXPANSION
The STD bus is an excellent I/O expansion bus. Many off-the-shelf
interfaces are available, from simple paiallel interfaces and intelligent
communication controllers to pneumatic valves and radio receivers on card.
BWI interfaces the STD bus lo systems via the Motorola I/O channel, the
SCSI interface, and AKCNET. The SID bus may be eonf iguttad as a simple
expansion bus, an intelligent subsystem, or a remote I/O system.
MACINTOSH AND ATARI ST EXPANSION
Expansion slots may be added lo Maomosh(tm) or Atari ST(tm) systems
using the STD bus. Canned an STD expansion bus via the SCSI port, and
use any of the wide variety of STD bus interface cards.
BILL WEST INCORPORATED
174 Robert Treat Dr., Milford Connecticut 06460
203 878-9376
NEW!
Color
Computer
"no Hair*
Disk
Controller
Old you know*
. . Ihel ill irve ««lef floppy disk conirollera lot the CoCo completely tie up land
evan nalll ihe 6809 Pfoc«&ao< during disk feeds and writes? No wonder your
keyboard la (onelasilly "foslng" characters! Or thai your serial porl ollen gives
you garbage
Unl*a>»r> your CoCo't poUnllall
Our new Dual Mode Controller (DMC) implements a new "no noil" modo ol opera-
tion so il can read Irom or write lo disk alF by il&eir The 0809 IS freed lo proce ss
other leaks and respond to Interrupt This *» how OS-9 was meant lofunl Builtw
Radio Shack "halt" mode of operation Is also retained to meiniein full com
DBtiblhty with enisling non-059 sofiwt.ro
Othor OMC feature*!
• worMs with original CoCo. CoCo 2. or CoCo 3 (Muill PeV required)
• no adluelmonts — all diQilal data separator and writs precompenaahon
• gold plated card-edge conneclors lot reliability
• ROM socket lakes 24 pin or 28 pin chlpa: dual DOS capability
• Radio Shack DOS I 1 ROM Installed
• BK byles cache memory on board I32K bytea optional)
• includes OP Johnsoti'a SDISK package apecletly modified lor tn« DMC
• *uily assembled and tested. l?0 day limited warranty
To order DMC controller with RSOOS I 1 and SDISK (lovel I or II) $14$ 50 plus SS
SrH {$1? oversoas). Terms (prices in (OS): check* money order. VISA
(trademarks: OS-9 - MlCrowar* and Motorola)
(WW) 2S$-44e5 {Pacflic Time)
Our ST 2900 SBC is si'll available.
call or write lor calaloo/prlce-llsl
£<HNOLOOI«
2261 East 11th Ave., Vancouver. B.C., Canada V5N 1Z7
68 MICRO JOURNAL
Reader Service Disks
Disk- 1 Filesort, Miiiicat, Minicopy.Minifmj. "Lifetime,
••Poetry, ••Foodlijt. "Diet.
Disk- 1 Diskedii w/ inst.A fixes. Prime. •Pnnod.
••Snoopy. ••Football. "Hexpavm. ••Lifetime.
Disk- 3 Cbug09. Seel, Sec2, Find. Table2, tntexl, Disk-
exp, 'Disksave.
Disk- 4 Mailing Program, •Finddat. •Change. •Tesldisk.
Disk- 5 "DISKF1X I. •DISKF1X 2. ••LETTER.
••LOVESICN. "BLACK! AK. "HOWLING.
Disk- 6 ••Purchase Order. Index (Disk file indx).
Disk- 7 Linking leader, Rload. Harkness.
Disk- 8 Crtest. Lanpher (May 82).
Disk- 9 Dalecopy, Diskfix9 (Aug 82).
Dlsk-10 Home Accounting (July 82).
Disk. II Dissembler (June 84).
Disk- 12 Modem68 (May 84).
Disk- 13 *Inilmf68, Testmf68. •Cleanup, 'Dskalign, Help.
Date.Txt.
Disk -14 •Inil. 'Test. •Terminal. 'Find. •Disked] t. Init.Ub
Disk- IS Modcm9 4 Updates (Dec 84 Gilchiisl) to Modcm9
(April 84 Commo).
Disk- 16 Copy.Txt, Copy Doc. Cat.Txl, Cat. Doc.
Disk- 1 7 Match Utility. RATBAS, A Basic Preprocessor.
Disk- 1 8 Parse. Mod. Sirc.Cmd (Sept. 85 Armstrong). CMDC
ODE. CMD.Txl (Sept. 85 Spray).
Disk-19 Clock, Date. Copy. Cat. PDEL.Asm & Doc.,
Errori.Sys. Do, Log. Asm & Doc.
Dlsk-20 UNIX Like Tools (July & Sept. 85 Taylor &
Gilchrist). Dragon C. Crep.C. LS.C. FDUMP.C.
Disk- 21 Utilities & Games - Date. Life, Madness. Touch,
Goblin. Starshot, & 15 more.
Disk - 22 Read CPM & Non-FI.KX Disks. Frascr May 1984.
Disk -23 ISAM, Indexed Sequential file Accessing Methods,
Condon Nov. 1985. Extensible Table Diiven. Lan
guage Recognition Utility. Anderson March 1986.
Dlsk-24 68' Micro Journal Index of Articles & Bit Bucket
Items from 1979 • 1985, Jobn Current
Disk-25 KERMITfoi FLEX derived from the UNIX ver. Burg
Feb. 1986. (2)-5" Disks or (l)-8" Disk.
Dlsk-26 Compacla UniBoard review, code & diagram,
Burlison March '86.
Disk -27 ROTABIT.TXT.SUMSTEST.TXT.CONDATA.TXT.
BADMEN.TXT.
Disk -2 8 CT-82 Emulator, bil mapped.
Disk -29 "Star Trek
Dlsk-30 Simple Winchester. Dec'86 Gracn.
Dlsk-3I ••• Read/Write MS/PC-DOS (SK'DOS)
Dlsk-32 Hier-UNIX Type upgrade - 68MJ 2/87
NOTE:
This is a reader service ONLYI No Warranty is offeied or implied,
they arc as received by 68' Micro Journal, and are for reader
convenience ONLY (acme MAY include fixes or patches). Also 6800
and 6809 ptogiams are mixed, as each is fairly simple (mostly) lo
convert to the oilier. Software is available lo cross-aucmblc all.
• Denotes 6800 - •• Denotes BASIC
•*• Denotes 68000 - 6809 no indicator.
Specify 8" disk $1930
5" disk $16.95
Add: S/11 - J3.50
Overseas add: $4.50 surface - S7.00 Air Mail. USA Dollars
68 MICRO JOURNAL
PO Box 849
Hixson, TN 37343
615 842-4600 - Telex 510 600-6630
62
November '87
'68' Micro Journal
6809/68008 SINGLE BOARD COMPUTERS
The Peripheral Technology Family of Single Board Computers is a Low-Cost Group Which
Ranges From an Entry Level 8-Bit Version to a Powerful 68008-Based Board. A Product is
Available to Fit Almost Every User's Requirements.
PT69-5
• 6809 Processor/2MHZ
Clock
• 4 RS-232 Serial Pons
• 2 8-Bit Parallel Ports
• 4K-16K EPHOM/60K Ham
• Parallel Printer Interlace
• DS/DD Controller lor 35-80
• Track Drives Ranging From
SS/SO-DS/DD
• Winchester Interlace Poit
Pnee: $31500
PT69-3
• 6809 1 MHZ Processor
• 2 RS-232 Serial Pods
• 2 8-Bit Parallel Ports
• 4K EPROM/59K User Ram
• DS/DD Controller tor 35-80
Track Drives Ranging From
SS/SD-DS/DD
Price; $249.95
OS9 LI For
PT69 BOARDS $200 00
SK-OOS. $ 4995
PT68K-1A
. MC68008 12 5 MHZ
Processor
• 768K RAM/64K EPROM
• 4-RS-232 Serial Ports
• Winchester Interlace Port
• Floppy Disk Controller for
4 5*' Drives
• 2 6-Bit Parallel Ports
BOARD: $499.00
with Professional OS9: $895.00
with SK'DOS: $595.00
PERIPHERAL TECHNOLOGY
1460 Terrell Mill Road, Suite 870
Marietta, Georgia 30067
(404) 984-0742 Telex # 880S84
VISA/MASTERCARD/CHECK/C.O D.
"OS9 Is A Trademark Of Microwar* and Motorola
Send For Catalogue For Complele Information On All Products
^J
XDMS-IV
Data Management System
;:,:5>
MlHIl )
>
•"'•'- /)/
illElll Y\
///
:::::: >»
an >»
t«f*l
riiull
KM
i> ■»■ «■
■II'
IIUO
■ III*
■in
If l 1*4
ii' in
ittt
•■*■
Mill
ill*
.1*
(■IC
*-•
pa
1 1*1
11*1 1 <
l*l*|i*i
III!
• LlC*
11 III
'in
II 144
1IIEI
i..i
■ ■in
••-*..
ttit
iwit
i ■ i
■ *i
mi
ill'!
■I|H
• TUll*
IV luMOII COPIHtflrf
M'*IMf 1
III If 1
•*l*ti
ii iiiiii
■ >■«
i*»**i
Hit* II ]
llltr
III!
■ 11 II- 1
I II fill
mil:
Save $ 1 00.00 - Limited Time
Regular $350.00 jJtotcOnfy
$249.95
Ttctinlcil telephone ■ubtniu*'. Td (14-MI-3S52 (Erailngn)
■l.KX™ Trcnkil Sytloru CunnjllinU, SK'DOS™ STAR-KITS Corp.
Vl-K* 1
FOR 6809 FLEX-SK-DOS(5/8")
Up lo 32 s^tas^a^telds per record 1 Up to 12 character filed name* Lp lo 1024 byte Rrctdal U»e»
iftcfiraod «£T05» and pet/* central! Piotcts fiJc*! Form filesl CoruiibQnii cicaaionl Prtxxu
cbeiaiAgl Up^crdyDownwird file bnkingl Rie >auun&1 Random file virtual pagvigl Built in
militia I Built in lent line editort Hully session oriewodf Enhanced forma! Boldface, Double
•ndth. Juliet aim* Uftdeflifte wppartad) Written in contact strucuued auvublerT Integrated for
FAST ejon*u on I
XDMS-IV Data Management System
XOMS-lV ts ■ brand new approach to da La management h not only pxinita users to
doacribo, enter and retrieve data, but also to pmodta cmirn fUcs producing cur^miad report*,
una d rplaya *nd Hie outpuc Pmcatfing can conaiat of any of a act of standard liig)} level
fvmeuaru including record and field selection, sorting and aggregation, lookup* in other file*,
■peril! prooming or record lubaets, custom report fonmoing, totaling aitrf •uStouling, and
preanUatbanof uptol)tn»ndilcdrdeaaJs^Uti>^ output kj****
POWERFUL COMMANDS!
XDMS-IV combines the fiuvctwsiAhly of many poplar DBMS software lynwu with anew easy
to use oorn/Twtd set into i etnglo integrated package. Weve induced many new feature* and
command* uu-iudm g • act of general file Hililin. The pRxxsinf cxwnrpands *ie InpaPircrK*-
Ouqu GPO] ariesled *+deb allow* aknaat utatantknpierncfiUQan of a proacD design.
session or rcrvreoi
XDMS IV ia laotn oriented Enur "XDMS" sod you are in iofiinl cmsnand of all the
feature*. Noraon waiting for « ccasmand to load in from diskt Many commands are ou module .
such u CR£ATE (Hie onftnirianX UPDATE (file odilorX PURGE aod DELETE (Bdlatiei),
Otbtzs are prcceu eavunaooj which arc ueed to cxnie a user procsa* which is executed with a
RUN ■njinaiaJ Either msy be esend into ■ "precis" file which is executed by an BCfcXl/TE
lUtcgaaU Ptassmstat may cuecUe other picnase*. or thetnacJvcs, cxutEr ctxaditM^uJly or
ooaBditu»al)y. Menu and acmr ptempu t/e easily cocM. aod enxin> user •pptotkmi can be
luivtWcrv leaving XDMS-lVt
irSEAJSYTOUSE!
XDMS J V keeps dttamiAfgement crnpW Rstherthao dengn aoxr*p4c» DBMS vhich hides uic
true nature of the data, we kept XDMS-IV file anaaeil The user vkw of data ndsfraubips if
prcsBDtod tnrcpoou and sobdi oulpo t, while the actual data miJcsin easy loouintain file*. Ilta
aaptaa pennils omancaJ pneftation «mJ osparu without ccsnplet cr*Vssirituai of the database
file* end strucuor. XDMS IV may be used for a wide tinge of appUcauooj from ssopte rosard
mansgernont sysunu) (addrtswea, inventory ...) to integiatod database systems (order entry,
see*»«*i*tg. „> The poasih Oibea are unhWi^...
Visa A Master Card Kxcepted
Tckplione: *S15-«42-«i01 or Tckx; 510 60OM30
Or WrUe: S.K. Media, 5900 Cassandra Smith RdL,
Hlxson, Tcnn. 37343
1— /
'66' Micro Journal
November 'B?
t>3
THE GMX 020BUG DEBUGGER/ DIAGNOSTIC PACKAGE
This extensive firmware package provides a broad range ol
program development tools and a complete suite ol diagnostic
programs lor exercising GMX Micro-20 hardware
The debugger Includes commands lor displaying and modifying
registers and memory II the optional 68881 Floating-Point
Coprocessor is installed, its registers are also accessible. Memoiy
can be displayed In hexadecimal and ASCII format, as floating-point
values (single, double, extended or packed format), or as
disassembled instructions (Including FPC instructions) Memory
modify can be done with hexadecimal values, with ASCII strings,
with floating-point values, or with a one-line assembler which
supports the full 68020 Instruction set (although not the FPC
instructions). Block move, fill, and search are also available.
Several diflerent modes for tracing or executing user programs
are provided, along with a powerful breakpoint facility. Programs
and data may be downloaded from a host system or uploaded back
to the host, and the GMX Micro-20 console may be used as a host
system terminal. A serial printer may be hooked up, and used to
make hardcopy listings ot debugger sessions as desired
The diagnostic firmware includes 90 test commands and 16
utilities Complete test suites are provided for each functional block
ot the GMX Micro-20's hardware, including, for example, 9
DEBUGGING COMMANDS
different tests for memory. 9 tests for serial I/O ports, 2 tests tor
the 68881 FPC, and 9 tests lor the optional memoiy management
unit For the peripheral control interlaces (floppy disk. SASI/SCSI
hard disk or tape), test commands support a broad range ol
peripheral operations (read, write, format, etc.) so that the user
may test both the interface and an attached device Tests are
provided tor add-on I/O boards, including the ARCnet interlace. I/O
Channel interface, and parallel and serial expansion boards.
The utility commands allow the user to execute groups ot test
commands conveniently, repeat commands or command groups,
enable or disable detailed fault reporting, count delected errors, or
execute all the non peripheral tests as a group A switch option
allows this last function to be invoked automatically at power-on or
reset. Other utilities allow the user to check the state of the various
lumpers and switches on the GMX Micro-20 directly.
In addition to the Diagnostic command package, 020Bug
contains a confidence test which is always run after power-on or
reset. This (est does a quick checkout of the processor and the
basic system elements that are needed for 020Bug operation. It any
defect Is found, an error code is signalled by on-and-ofl blinks of an
LED. >%l %^fc
functions f — RtuA
\
MD
- Memoiy display
MM
— Mamcy modify
MS
— MWnny set
BF
- Block till
BM
— Block mow
BS
— Block search
RO
— Register display
RM
- Register modily
OF
— Offset registers
BR
- Breakpoint set
NOB)
; - Breakpoint delete
G
— Co to target code
GO
— Go, delete OraakpaMs
ON
— Go. stop after 1 instruction
GT
- Go, set temp breakpoint
T
— Trace
TC
— Trace on changa ot flow
TT
— Trace to temp breakpoint
LO
- Download
OU
- Upload
VE
- Verify download
TM
— Terminal mode
PA
— Printer attach
NOPA
— Remove printer
PF
— Port formal
TO
- lime display
TS
- Time set
SO
— Swllch directory
RS
— Restart system
OS
— 8ool operating system
NV
— Non-veibose mode
SE
— Slop on error mode
LE
— Loop on error node
LC
— Loop continual mode
ST
— Selttesl mode
STL
- Selttesl with LEO mode
DE - Display errors
B - 66881 FPC control lunploW
E - Read
2 — Zero errors
C — Tick generator
F -Write
DP — Display pass count
- ^
- MM rrupt sautes
B — Compare bu Iters
ZP — Zero pass count
RL - Read loop
MT
- Memy teste
A - Set (unction code
H -fill write taller
1 — Tesfinterrupt
WL - Write loop
a - Set atari address
J - Park head
DJ - CMsplay baud rail Jumper settings
C Set em) adorn*
K - Format
OS - Display switch
— Random Aversion test
SC - SASI/SCSI port wWi SCSI device
Mi — Display MMU board lumper settings
E - Match address test
A — Select drive
SX - Stan I/O expansion space
F - WaH-a-bi'l lest
B - Scan data Ines
V*
^
G - Refresh test
H — Random byle lest
C — Restore
TEST COMMANDS
D — Seek
AN - AtKiMt Interna taste
1 — Program test
E — Read
A - Wakeup test
J - TAS test
F - Write
B - DIP Switch lest
X - Test 00OO-1FFF
G — Compare butters
C — Interrupts test
L — Partial kmgword writes lest
H - Fill write Bulfer
D - Bulfer test
MU
— Memoiy Management teste
1 — Tesl Interrupt
CA20 - On Chip etch* tab
A - Map RAM data test
J — Stop drive
A — Bask; caching
B - Map RAM address test
K — Formal
B — unlike function cooes
C - Map RAM partial write test
SI - Serial I/O tests
C - Disable
D - Map RAM random data' test
A - Select OUARTs
- Clear
E - Accessed bit reset test
8 — Internal loopback
FO - Floppy disk tests
F — Address mapping lest
C - External loopback
A - Set parameters
G - Accessed /Oirty Bits test
- Baud rates
B - Drive select toggle
H - Valid/Write Enable tesl
E — Parity modes
C - Side select toggle
I - Task size test
F — Cliaracter lengths
D — Restore
PP -
- Para lei pmt teste
G - Handshake lines
E - Seek
A — Print test pattern
1 - BREAK delect
F - Format track
B - Continual test bit patiem
J — Interrupt output
G — Read
C — Tesl bit pattern lor 10 Sec
K — Continual liandshake toggle
H - Write
PX-
- Parallel I/O expansion board teste
TA - Tape dihra tests
1 - COPY butler
A — Data, handshake, and IRO tesl
A — Rewind
J — Compare bulfer
B — P4 connector tesl
B - Read
K - Fill butler
C — Data and handshake toggle
C - Write
IC - I/O Channel tests
SA.
- SASI/SCSI pat wltti SASI device
E - Compare butlers
A — Print test pattern
A - Select drive
F — Fill write butter
B - Bit rotate
B — Scan date lines
G — Erase
MM - Mt*catjn«ui hardware teste
C - Restore
A - 888a 1 FPC Instructions
- Seek
GtTlX 1337 W. 37th Piace, Chicago, IL 60609
(312) 927-5510 — TWX 910-221-4055 — FAX (312) 927-7352
64
November '87
'68' Micro Journal
Mj^^the — llStaiV'
Now Offenng *FLEX" (2 Versions)
AND 'STAR-DOS PLUS+ '"
For Otttmrtng Call
(615)842-4600
FROM - DATA-COMP, C.P.I.
A Family of 100% 68XX Support Facilities
The Folks who FIRST Put FLEX" on
The CoCo
vH
t^*>*
&.:>
*
p^^r^
C o1
«* e
**%P
^*" o* 1
M
STAR DOS PLUS +
• Functions Same as FLEX
• Reads • writes FLEX Disk*
• Run FLEX Programs
• Just type: Run 'STAR DOS"
• Over 300 utilities & programs
to choose from
f
TSC Editor
NOW $35.00
L
y)
PLUS
ALL VERSIONS OF FLEX & STAR-DOS
+ Read-Write-Dir RS Disk
+ Run RS Basic from Both
+ More Free UtJities
INCLUDE
+ External Terminal Program
+ Test Disk Program
+ Disk Examine & Repair Program
+ Memoty Examine Program
+ Many Many More!!!
TSC Assembler
(bgtMOO
L
NOW $35 OO
1
CoCo Disk Drive Sgsleuis
2 TH1NLINE DOUBLE SIDiO DOUBLE DENSITY DISK DRIVES
SYSTEM WITN FDUEE SUCI-L* .CAIINtT, 01SI OllVE CARLE. JiH
NEW DISK CONTROLLER JP0-CP VJTH J-OOS.RS-DOS OPERATINC
SYSTEMS. |4*«.»)
• Spiel (y What CONTROLLER You Want JAN, or RADIO SHBCX
TMINLINE DOUBLE S1DE0
DOUBLE DENSITY *0 TRACKS
MK VPCSAOi
FOR C.0,E, P, AND COCO II
RADIO SHACK BASIC I. 2
EAD10 SHACK DISK BASIC 1.1
Verhjhm Diskettes
Sinftlf Sldad Doubl« DtDtity
Deubl* Sided Double Deoelty
Cooli oilers
JtN JPO-CP WITH J-0OS
WITH J-OOS, KS-OOS
RADIO SHACK ] . I
RADIO SHACK Diik CONTROLLER 1.1
Disk Di ive Ciu!>-'>
Ceble for One Drive
Cable for Two Drive*
DISK OltVE CABINET POl A
III*. as
SINGLE (WIVE
DISK DRIVE CAEINET POl TWO
TK1NLINE DRIVES
} 14.00
nirruj
} 14.00
EPSON U-BO
EPSON HX-70
EPSON KX-100
•139. 95
ACOMoaiE* rot ifboc
$119. *»
tiM.aj
61*6 2E SEEIAL BOARD
81*9 32K EXPAND TO I2BK
EPSON MJ-M-UO KIIMNS
413*. aj
EPSON LX-80 ElEtONS
TEACTOE UNITS PO« LX-BO
CABLES 4 •THE* IHTCK/ACKS
CALL POR PRICING
i la.tj
i 24. as
I 29.95
t 24. as
i 24. as
* 4».»5
t ta.as
B2M.9J
•us.aj
$»*i.*i
JI49.95
» s.as
DATA-COMP
5900 Cassandra Smith Rd
Hixson. TN 37343
C3|
SHIPPING tS*
f^:^ d ^" s .| (615)842-4600
n(H. $2.50 'Of OtoWring
Telex 5106006630
s
An Ace of a System in Spades! The New
MUSTANG-08/A
Now with 4 •dial porta standard ft speed Increase to 12 Mhz CPU 4 on board batter/
backup and Includes the PROFESSIONAL OS-0 package - Including the $500.00 08-9
C compiler! This offer won't last forever!
NOT 128K, NOT 512K
FULL 768K No Wait RAM
The MUSTANG-OB™ system took every hand from al
other 68006 sysoms we laded, rumhg 0&9 68K!
The MUSTANOQB Inductee 0S*€8K~ andtor Peter
Starta SKTX5S~ SrCDOS is a single user, single tasking
" ' - - j system that takes up where 'FLEX™ reft off. SKDOS is
■ actuary a 68XXX FLEX type system (Not n TSC fwoOUO.)
- ~1#m , jtJLfcjl btowrvmuJa ■-
Al Ihe popular 53800
on dkfc KD Fact ra:
Now even faster!
with 12 Mhz CPU
C Compile timet: OS-9 68K. Hard Disk
MJSTANtXB IMiCn Orrti 32 mc
Other popute fSOQB system 1 mki • 05 sac
MUSTAN&020 0roJn.2lKC
^
J
System teductes 06-9 6HC or 3CDOS
Specifications:
Your Owtc
CPU
RAM
PORTS
CLOCK
EPftOM
FLOPPY
HMD OtSK
MGSB008
7B8K
No Wat
4-RSZS
2 8biPaaW
MK48KS
16K. 32K or 64K
WD1772
ktuiacB Port
12 Mhz
25EK Chps
MCBTO1 QUART
MC6821 PIA
FtealTrnBOockBi.au
5 1M Ohves
WD1002 tart
25 Megabyte
Hard Disk System
$1,998.90
Complete with PROFESSIONAL OS-9
includes the $500.00 C compiler, PC
style cabinet, heavy duty power supply,
5" DDDS 80 track floppy, 25 MegByte
i Hard Disk - Ready to Run }
Unite other 68008 systems there are several signrtrarn
dRerences. The MUSTAN&08 ra a full 12 Megahertz system. The
RAM uses NO wal states, this means fid bore MUSTANG type
performance.
Also, eJtowrg tor addressee ROMPROM the RAM is the
maximum allowed for a 68008. The 68008 can only address a
total of 1 Megabytes of RAM The design allows al the RAM
Y~ Now more serial ports - taster CPU t
I Battery B/U - and $850.00 OS-9 Profes- 1
- slonal with C compiler included! . 3^ ^ „,, ^^^ (UVtf ^ i) to bo ^aed. What is ret
-^* __ — — — — — — — . —' available to the user is required and reserved for Ihe system.
A RAM disk of 480K can be easily avTfigurad toavrig 288K
free tor pragranvsyalem RAM space. The RAM OtSK can be
configured to any sue your B jsiirt i m requras (syaem must
have 128K in additbn to b other requirements). Leaving the
remahder of the onginai 768K for program use. SuffberS
source irdutad (drivers, ate.)
*$400.00
See Uiaang-oe Ad -page 5
for trade-in deJais
MUSTANG-08
LOOK
Seconds
C OmmJhc I i Leap
32 bt Pi^uvt
Integer Lmi
.. .18.0. ..9.0
9.8.-6.3
r Int I; V
register long i;
tor f>0; I < 099099; ++I);
MUSTAIKMita..
r
Data-Comp Division
9^J^> * ^ cade of Quality Service"
} ''> \ ij^fc Systems World Wide
Computer Publishing, Inc. 5900 Cassrda Smith Road
Tetejrtw 615 842-4601 -Telex 510 6006630 rfoon. Tn 37343
' These wtfh SW1PC r^dentfy FLEX 5* - Cal for ^edd hlb.